fix(solicitation-create): drop labs-side workarounds; align with connect-labs#212 end-state#407
Closed
jjackson wants to merge 1 commit into
Closed
fix(solicitation-create): drop labs-side workarounds; align with connect-labs#212 end-state#407jjackson wants to merge 1 commit into
jjackson wants to merge 1 commit into
Conversation
…ect-labs#212 end-state DRAFT — holds until jjackson/connect-labs#212 ships. Do not merge before then. When #212 lands, the four labs-side gaps documented in the prior PR (#405) are resolved: 1. Atom inputSchema and deployed server validation align — `{data: {...fields...}}` envelope is the canonical shape, no flat-fields fallback needed. 2. `questions[].framing` is a first-class structured field; labs's public-detail template renders it as a muted preface above the prompt; `solicitation-review` consumes the structured key. 3. `evaluation_criteria[].id` documented as required in the atom inputSchema. 4. `is_public: true` AND `status: active` solicitation detail pages are truly unauthenticated. This PR drops the inline workarounds the prior PR added: - Step 6's wire-shape fallback paragraph (flat-fields direct JSON-RPC) removed — call the MCP atom as documented. - `questions[].framing` emits as a structured field instead of the literal `Why we're asking: <framing>\n\n<text>` inline anchor in `text`. Empty `framing` is a [BLOCKER] (the review path can't score responses against a missing anchor). - `evaluation_criteria[].id` documented as required; the prior "server enforces it but inputSchema doesn't flag it" hedge is gone. - Step 7a-bis added — curl-the-public-URL structural verifier restored as the rendered-layer check on top of the get_solicitation persistence-layer check. Together they catch both "labs persisted wrong shape" and "labs persisted right shape but template can't render it" classes. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 tasks
Owner
Author
|
Superseded by #411. The premise of this draft was wrong — the labs maintainer's triage of connect-labs#212 showed that 3 of 4 'labs-side gaps' I filed were actually ACE reading a stale schema, not labs bugs. #411 ships the corrections directly to main instead of holding for a labs PR that won't be needed (#212 stays open only for the framing visual rendering / public-template ask; all four schema concerns are already met by the deployed labs MCP). The Step 7a-bis curl-the-public-URL verifier this draft planned to add is impossible — |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
DRAFT — holds until jjackson/connect-labs#212 ships. Do not merge before then.
Summary
Pre-implements the ACE-side cleanup for when connect-labs#212 lands. When the four labs-side items in #212 ship:
{data: {...fields...}}envelope works as documented).questions[].framingis a first-class structured field.evaluation_criteria[].iddocumented as required in the atom inputSchema.is_public: trueANDstatus: activedetail pages are unauthenticated....this PR drops the inline workarounds the prior ACE PR (#405) added.
Changes
{program_id, data: {...solicitation fields...}}.questions[].framingemits as a structured field. The literalWhy we're asking: <framing>\\n\\n<text>inline anchor convention intextis dropped. Labs's public-detail template rendersframingas a muted preface;solicitation-reviewconsumes the structured key. Emptyframingis a[BLOCKER].evaluation_criteria[].iddocumented as REQUIRED in the criterion shape. The "server enforces it but inputSchema doesn't flag it" hedge is gone.get_solicitationpersistence-layer check. Together they catch both "labs persisted wrong shape" (7a) and "labs persisted right shape but template can't render it" (7a-bis).Workflow
When connect-labs#212 ships:
mcp__connect-labs__create_solicitationaccepts a payload with structuredframing,evaluation_criteria[*].idis documented intools/list's inputSchema, public-detail URL renders for unauthenticated curls./ace:step solicitation-create malaria-itn-app/20260521-1400(or the next opp) to verify end-to-end.Cross-ref
🤖 Generated with Claude Code