Description
The composition root cannot safely plan management resources or future historical admission by instantiating emitters or guessing names from telemetry. App has the canonical pure callback, but legacy agents and explicit no-agent workload coverage are missing. Deliver this structural discovery prerequisite independently of the later runtime-admission parent and typed-engine implementation.
Acceptance Criteria
- #1 Pure discovery enumerates every defaulted post-fanout workload instance with exact existing structural Build bindings, stable origins and indices, including zero-rate, synthetic, source-only and projected-child declarations; missing callbacks refuse without Build, I/O, sampling or exports.
- #2 Legacy callback identities, service/model defaults and archetype-specific projected children are checked against actual bounded native emission on fictional fixtures, with defensive copies and no invented fallback, filtering or peer-config inheritance.
- #3 The smallest Build-binding extraction preserves existing runtime RUM and ordinary app/legacy behavior; explicit web-service no-agent coverage adds no receipt, runtime collaborator, admission stub, management resource adapter, YAML field or core DTO.
Definition of Done
- #1 just check (fmt-check, lint, gen-check, env-check, docs-check, test, race, hygiene, ui-check, compose-check, helm-test, lab-check, signal-fidelity)
- #2 just gen (only if a blueprint field, construct/workload config struct, or a skill under plugins/synthkit/skills/ changed)
- #3 just dump — inventory diffed against signals/
Implementation Plan
Implement only the independently reviewed PURECLAIMS subset of contract 5229f33210e8db6df15953359c3de14ae329e4f94844a0d8c01b9776f306766d: two pure runner functions and their full-set structural-binding test, minimal existing Build-binding extraction, canonical legacy callback/tests and explicit web-service no-agent registration. Preserve native archetype-specific child/service/model identity with actual-emission parity and defensive copies. No typed engine/resource adapter, new YAML, CLI, core DTO or runtime admission/collaborator code; parent admission stays incomplete.
Final Summary
Delivered pure declaration discovery at a0ad2120fd63530d88ca46c8ff15eded702ca797, published as normal merge6415835ac8995fc6cf3fa6c9fb33927b0a4d3047 preserving concurrent Go-image digest update. Exact seven-source patchc9e71aaa unchanged; complete guarded review and aggregate CodeRabbit nine paths zero findings. New merged tree50c4ecf6fc078d0c3ab451f9122b7dcaa5b4bef5 passed immutable full gate20261021T062942Z-synthkit-19453e6a including Linux plain/race. Real loader/full-set/binding/native six-archetype child/resource/model parity and affected-package races pass. Selected shipped legacy CLI dump remains byte-identical (898 lines/119186 bytes), no config/schema generation needed. Pure structural source prerequisite only: no lifecycle C/D, receipt authority, actual runtime admission/collaborators or pipeline activation.