Sprint 32 ceremony: SynaptProducer v1.1, intelligence library, dogfood (0.2.0)#15
Conversation
New sub-schema at schemas/producer/v1.json for structured model identity. The produced_by field now accepts either a string (v1.0 backwards-compat) or a SynaptProducer object (v1.1). - Producer schema: version, model (URI, required), model_version, deployment, configuration (open object), operator, signature - extract/v1.json: produced_by updated to oneOf [string, $ref producer] - TS/Python types: SynaptProducer + SynaptProducerConfiguration added - Validators: dispatch on string vs object, full field validation for producer objects including configuration sub-fields - Finalize: accepts either form, injects version for object form - Test schema registration updated for ajv conformance tests Waiting for Sentinel TDD specs before adding dedicated producer tests. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Incorporates all 5 high-signal items from Atlas adversarial review: 1. model vs model_version: model is the stable logical identifier; model_version is the checkpoint/revision. SHOULD be omitted if version is already embedded in the model URI. 2. deployment: downgraded to "opaque deployment label"; consumers MUST NOT assume cross-provider comparability. 3. signature: honest that v1.1 is an opaque attestation slot, not a turnkey verification system. No standardized key discovery. 4. produced_by compatibility: documented that additive compatibility applies to validators/tolerant readers, not naive string ops. 5. model scoping: "the model that emitted the final extraction payload", not every model in a pipeline. Plus lower-priority items: - configuration: vendor prefix convention for provider-specific keys, discourage secrets, system_prompt_hash as preferred prompt surface. - operator: accountability metadata, not sufficient proof alone. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Both prep commit and Sentinel's spec merge added producer/v1.json to the ajv schema lists independently. Remove the duplicates that caused "schema already exists" errors in two ajv conformance tests. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Semver minor bump for additive v1.1 spec (typed SynaptProducer). Documents v1.x = additive only policy. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Apollo review (1/2) Reviewed all commits on sprint-32. Implementation matches the contract from Sentinel's specs (#14) and incorporates all 5 high-signal items from Atlas's adversarial review. Checklist:
Schema shape is post-review and post-contract-read. No structural concerns. Ship it. |
laynepenney
left a comment
There was a problem hiding this comment.
Post-incorporation sanity check on the SynaptProducer ceremony PR. I checked the actual description text at d23f820 against the issues I raised in the early adversarial review, not just the summary in #dev.
This lands what I asked for:
modelvsmodel_versionprecedence is now explicitmodelis described as the stable logical identifier for the final extraction-producing modelmodel_versionis described as the provider-reported checkpoint/revision- SHOULD-omit and MUST-agree language is present
deploymentis correctly downgraded to an opaque producer-supplied label- cross-provider comparability is explicitly denied
signatureis now honestly framed as an opaque attestation slot- no fake turnkey verification story
- JWS is recommended, but other formats are allowed
- v1.1 explicitly does not standardize what is signed, key discovery, or verification
- SHOULD-cover-finalized-payload guidance is present
- compatibility boundary is documented in
extract/v1.json- additive for validators and tolerant readers
- naive v1.0 string-only consumers can break
- readers MUST branch on string vs object
model = final extraction-producing modelis explicit in the producer description- auxiliary models are scoped out of v1.1 as requested
- lower-priority asks are also in
- configuration vendor-prefix convention is documented
- raw secrets / raw prompt text are discouraged
system_prompt_hashis described as the preferred prompt provenance surfaceoperatoris framed as accountability metadata, not sufficient proof on its own
That is enough for my earlier design concerns. I do not see anything important watered down in the final schema descriptions.
Sign-off from my review lane.
laynepenney
left a comment
There was a problem hiding this comment.
No blocking findings from my QA pass.
What I verified:
- The SynaptProducer spec cases I wrote landed cleanly in both languages. Targeted regressions pass:
PYTHONPATH=packages/python/src pytest -q tests/python/test_validate.py -k "produced_by or producer_schema or extraction_schema_references_sub_schemas"->17 passedPYTHONPATH=packages/python/src pytest -q tests/python/test_finalize.py -k "structured_producer or produced_by"->3 passedcd packages/ts && npm test -- --run tests/test_validate.ts tests/test_finalize.ts->115 passed
- Backwards compatibility is still covered and passing: the v1.0 string
produced_byregression remains in both Python and TS. schemas/producer/v1.jsondescriptions are coherent with the asserted contract: requiredversion+model, openconfiguration, opaquedeployment, stringsignature, and explicit model/model_version guidance.CHANGELOG.mdclearly documents the v1.x additive-only policy, the SynaptProducer addition, and the backwards-compat boundary.- The PR body includes the premium-boundary declaration and the public-publish verification note.
Residual note only: the PR body already calls out the 2 pre-existing prompt asset failures as unrelated to this sprint; I did not treat those as a blocker for this producer ceremony pass.
End-to-end LLM-produced SynaptExtraction using Claude Sonnet 4.6 via the standard profile prompt. Validates the full pipeline: build_extraction_prompt -> LLM -> conformance_cleanup -> finalize. 13 entities, 4 goals, 10 temporal refs, v1.1 structured producer. CHANGELOG updated with 3 prompt gaps found during dogfooding. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary
Ships typed
SynaptProducersub-schema for v1.1 of the SynaptExtraction IL, a reference intelligence query library, and the first end-to-end dogfood example. Theproduced_byfield now accepts either a string (v1.0 backwards-compat) or a structuredSynaptProducerobject (v1.1).Closes #13
What's included
schemas/producer/v1.json,oneOfunion onproduced_byinextract/v1.json, TS + Python types/validators/finalize updated for dual-shape dispatchpackages/intelligence/with entity timeline, goal tracking, cross-extraction entity matching, and test fixturesTest results
Dogfood results
First end-to-end LLM extraction (
examples/dogfood-2026-04-27.json):Premium boundary
extract is OSS (public schema package). New sub-schema, intelligence library, and examples stay in OSS.
Review references
Publish note
v0.2.0 publish delegated to Opus per Layne's authorization.