Observability Gate A — acceptance
Status: GATE A = PASS
Recorded: 2026-10-05
This record certifies contract convergence across the four producer-observability mechanisms required before starting the GCP projection work. It is an acceptance record, not live-health authority, and it does not replace producer-local evidence or run receipts.
Gate decision
contract convergence = PASS
local runtime acceptance = PASS
GATE A = PASS
READY FOR OBS-G1
Gate A requires the four mechanism types to converge on
evidence:producer-run-receipt@1; it does not require every producer in every
mode to have completed its eventual estate-wide rollout.
A — GitHub zero-touch observer: PASS
projects/scripts/producer_github_observer.py was exercised against real
completed GitHub Actions runs.
The accepted live observation selected 9 governed GitHub sentinel producers and
produced 8 receipts. The remaining producer,
producer.github.min-economia-dataset-updater, returned no completed workflow
run and was left explicitly unobserved rather than fabricated.
That producer is authority hold / status unresolved; its absence of a
receipt is therefore governed and non-blocking.
B — Manifest translator: PASS
projects/scripts/producer_manifest_translate.py implements the bounded
manifest-to-receipt path with five adapters and explicit privacy tests.
A real existing KB Artifacts selection manifest was translated for
producer.manual.kb-evidence-selector. The resulting receipt:
- validated against
evidence:producer-run-receipt@1; - passed the privacy scan;
- has SHA-256
2c100142b9ee1410da660fdce024940ec9ee88dc08379377708cb293a16c9fd0.
The source payload was not copied into this repository.
C — Local/manual/systemd wrapper: PASS
projects/scripts/producer_local_receipt.py is the canonical local wrapper.
The 19 local_receipt producers retain these compiled wrapper policies:
command:none 4
command:required 13
systemd_command:required 2
The Office Runtime integration was rendered, verified and installed without changing timer enable/active state. Both one-shot services then emitted valid, metadata-only receipts:
| producer | execution / artifact | scheduler | receipt SHA-256 |
|---|---|---|---|
producer.local.office-compile | healthy / healthy | unknown | 1321a002a79fc491016ad3e3363a7d4208fa1721de8fdad9e2cb08cf5b1644e0 |
producer.local.office-evidence-daily | healthy / healthy | unknown | dae0024b35d641bad4d20dfc065f99e85d157f86e2bc152b98382a7a554713f1 |
Both receipts passed the canonical validator and privacy scan.
scheduler_state=unknown is intentional: a successful one-shot execution does
not prove timer/scheduler health.
The lock-cleanup correction discovered during this live proof was reviewed,
CI-green and merged in office-auto-lab as
a0d165269d40b2c1727305d8044821b7db90a7ee.
D — Semantic emitter: PASS
The first producer-local semantic emitter is implemented for
producer.github.media-publication in
media_monitor/scripts/emit_media_publication_receipt.py.
It derives artifact and terminal state from:
publication_cycle_guard.v1;site_roll.v1;public_deployment_check.v1;crawler_surface_check.v1;- GitHub execution identity/state.
GitHub workflow success alone is not sufficient to assert artifact health.
The emitter is merged in media_monitor as
a9a37635be1665f573693f9f3b0bac8ff837437d. Runtime-contract Python tests and
news-site contract/build tests passed. No production publication was triggered
for acceptance.
Control-plane census
The canonical compiled projection remains:
46 producers
github_workflow 9
translated_manifest 5
semantic_receipt 7
local_receipt 19
deferred_external 6
The older 17/8/6 census came from a pre-1C base and is not authoritative.
Stage 1D adoption merges
The bounded Git-backed adoption work was merged through:
projects—02ef7462f896b299a7bac57c811a1b7f41f50f98office-auto-lab—06c201afc8f2f1932dcc41c99459a843bb3bfe51people_intel—235d4899c3b6b6641e1f57682b4e0de474d58540knowledge-experiences—cfb7504f347a8cd4b39561fba65b26862435cab9abstract-scroller—680a50fa1f93ee844a3b49d2cbdf63cb62af76b4argentina-geography—1802ad63fd8d8612225dc6791fe908b9f0b56ff4paper-kb—90b359647a7932f058be974d9140c6bfb7b6a4e8
The previously missing Media Monitor digest boundary was recovered, tested and
merged as efcaa39144dec98b30e95376d04ba1fe1af3fa9a. It is independent of the
draft Gemini YouTube-summary work.
The local acceptance evidence record was merged in projects as
5b468a930416efc301157ba0c135a37f97ce4605.
Non-blocking debt after Gate A
The following remain visible but do not block OBS-G1:
- six
semantic_receiptproducers still need their eventual producer-local emitter rollout beyond the Media Publication pilot; - six ChatGPT automation producers remain
deferred_external; producer.github.min-economia-dataset-updaterremains authorityholdand unobserved until repaired/reconciled;- the three
gpt_knowledge_factorylocal producer wrappers remain local-only because that working surface has no Git remote; - systemd scheduler health remains separate from execution receipts and is not inferred from successful one-shot runs.
Next boundary
The final pre-GCP contract is
docs/observability/gcp-handoff.md.
Gate A is closed. New estate-side architecture is not required before OBS-G1 unless a concrete regression is discovered.