You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PR #149 establishes the first coherent canonical mightyETL documentation spine, but the documentation graph must remain code-current and must not become a one-time snapshot that immediately drifts while other commercial-readiness work continues.
The current protected baseline is develop@622e5e6c3d534f230c390f10e3832efadfc01825. PR #149 supplies or rewrites the core families: PRD, TRD, Architecture, Security, ADR index + detailed ADRs, UML, ERD, API contract, Threat Model, Test Strategy, Operability, Traceability, Documentation Assessment, AGENTS/CLAUDE/CHANGELOG, plus machine-checkable documentation tests.
That is structurally much stronger than protected develop, but it is not yet sufficient as a durable acquisition-grade source of truth because live repository work continues to expand while #149 remains Draft.
All open PRs above are active_pr; issues describing unresolved product/security/control work are planned or known_gap as appropriate. None is implemented_on_develop until the corresponding exact code and evidence integrate into protected history.
Fresh writer / source-identity evidence
PR #149 is actively being modified by another writer. Its PR body still names historical head 5f1c10891c32c5c56f1ab97ae8eea529d0466423, while GitHub's live ref is 74c24a3a8950009fdffc2d5f660f40ee3250b863 on unchanged base develop@622e5e6c3d534f230c390f10e3832efadfc01825. This mismatch is direct evidence that exact-head/run facts embedded in the body are already stale and that this loop must not race that source branch.
PR #157 shows the same pattern: its body names historical head d43c257c044ed3006980317bd8932cb5b22a32ab, while its live ref is aa558f25363bfb833e49ed79b49cfdbea39c8eea. PR #164 is also under an independent live writer and currently sits at e9cec632d0b2336040a3e86363dc0348e0cab059; its hosted workflows are queued and therefore not passing evidence.
These SHAs are dated execution evidence only. Canonical architecture must describe capability/lifecycle state, not freeze unstable pull-request head identities into timeless design prose.
ERD / logical data model with persisted-vs-planned distinction (docs/ERD.md)
API/error/event contract entry point (docs/API_CONTRACT.md)
Security and Threat Model
Test Strategy
Operability
Requirement/decision/code/test/PR traceability
Documentation completeness assessment
AGENTS / CLAUDE / CHANGELOG alignment
This is necessary but not sufficient by file count alone.
Remaining cross-cutting coverage that must be explicit and discoverable
For each category below, either maintain a dedicated canonical document or explicitly index the existing authoritative section(s). Do not create duplicate prose merely to satisfy a filename checklist.
Roadmap / lifecycle status — dependency order, accepted issues, active PRs, planned work, superseded paths, release milestones and exit criteria.
Data governance / privacy / retention — data classification, payload retention, principal/tenant authority, purpose limitation, deletion/retention, audit evidence, PII handling without blanket masking, and known gaps.
Deployment / failure domains — standalone and modular MSA deployment profiles, dependencies that are optional vs required, degraded modes, queue/broker/database failures and recovery.
Research / standards doctoring — one discoverable index from product/ADR decisions to authoritative standards and APA 7 references where material; feature-specific doctoring may remain distributed if indexed.
when one of those PRs merges, change the canonical status in the same integration path or an immediately following bounded documentation reconciliation PR;
close/relabel superseded issue/PR references only when exact ancestry/diff proves unique work has transferred;
never reuse checks/reviews/approvals from a predecessor head or base.
Documentation-as-code acceptance
Add or extend tests so they fail when material documentation drifts from live repository contracts. At minimum verify where practical:
canonical documentation/index files resolve;
ADR index, ADR IDs, statuses and supersession links are consistent;
Mermaid/code fences parse or pass structural checks;
public service/API names and lifecycle status vocabulary match source contracts;
protected baseline cannot advertise active_pr functionality as shipped;
newly removed scaffold connectors are not still documented as production-capable;
stale literal exact-head/run IDs are restricted to dated evidence, not timeless architecture assertions.
Writer/stack safety
Do not race an active writer on #149. The live-vs-body head mismatch above proves the branch is currently moving. Reconcile it read-only and perform source documentation updates only after that branch is stable or from a new direct-develop successor after #149 merges/closes. A documentation branch conflict blocks only that branch; continue other non-conflicting mightyETL work.
The same branch-local freeze applies to #157 and #164 for the remainder of the invocation because their source heads moved under another writer. Metadata/issue truth can still be maintained without mutating those source refs.
Do not deepen or rewrite the #121→#143→#148 stack solely to make documentation current. Document active stack state truthfully and repair source ancestry only for independent integration value.
Completion criteria
This issue can close only when:
the canonical documentation spine is integrated on protected develop;
the cross-cutting categories above each have one clearly discoverable authoritative location or an explicit documented non-applicability decision;
the live material PR/issue set is represented by source-backed status/traceability without stale shipped claims;
connector support, trust boundaries, source identity, and quality-gate evidence semantics agree with protected code/workflows;
documentation consistency tests pass on the exact integrated head;
security/data/operability/migration/release/standards links are coherent;
no maintainer or buyer must reconstruct the current product architecture from chat history or PR bodies.
Documentation completion is not a commercial-loop terminal state. After this issue or #149 is green/merged/waiting, the autonomous loop must immediately return to the live implementation/security/product queue and continue safe work.
Why this issue exists
PR #149 establishes the first coherent canonical mightyETL documentation spine, but the documentation graph must remain code-current and must not become a one-time snapshot that immediately drifts while other commercial-readiness work continues.
The current protected baseline is
develop@622e5e6c3d534f230c390f10e3832efadfc01825. PR #149 supplies or rewrites the core families: PRD, TRD, Architecture, Security, ADR index + detailed ADRs, UML, ERD, API contract, Threat Model, Test Strategy, Operability, Traceability, Documentation Assessment, AGENTS/CLAUDE/CHANGELOG, plus machine-checkable documentation tests.That is structurally much stronger than protected develop, but it is not yet sufficient as a durable acquisition-grade source of truth because live repository work continues to expand while #149 remains Draft.
Live drift discovered after #149 was created
The canonical graph must reconcile all material work below without promoting it to shipped truth before protected integration:
jackson-databindadvisories exposed by fix(cdc): remove MySQL scaffold from production discovery #158;known_gap/ architecture decision for replacing the directetl-serviceHTTP Basic trust boundary rather than hiding it from OpenAPI;All open PRs above are
active_pr; issues describing unresolved product/security/control work areplannedorknown_gapas appropriate. None isimplemented_on_developuntil the corresponding exact code and evidence integrate into protected history.Fresh writer / source-identity evidence
PR #149 is actively being modified by another writer. Its PR body still names historical head
5f1c10891c32c5c56f1ab97ae8eea529d0466423, while GitHub's live ref is74c24a3a8950009fdffc2d5f660f40ee3250b863on unchanged basedevelop@622e5e6c3d534f230c390f10e3832efadfc01825. This mismatch is direct evidence that exact-head/run facts embedded in the body are already stale and that this loop must not race that source branch.PR #157 shows the same pattern: its body names historical head
d43c257c044ed3006980317bd8932cb5b22a32ab, while its live ref isaa558f25363bfb833e49ed79b49cfdbea39c8eea. PR #164 is also under an independent live writer and currently sits ate9cec632d0b2336040a3e86363dc0348e0cab059; its hosted workflows are queued and therefore not passing evidence.These SHAs are dated execution evidence only. Canonical architecture must describe capability/lifecycle state, not freeze unstable pull-request head identities into timeless design prose.
Sufficiency decision
Core architecture families — present in #149
The following are considered the minimum canonical spine and are represented by #149:
PRD.md)TRD.md)ARCHITECTURE.md)docs/adr/)docs/UML.md)docs/ERD.md)docs/API_CONTRACT.md)This is necessary but not sufficient by file count alone.
Remaining cross-cutting coverage that must be explicit and discoverable
For each category below, either maintain a dedicated canonical document or explicitly index the existing authoritative section(s). Do not create duplicate prose merely to satisfy a filename checklist.
Required live traceability reconciliation
After #149 stabilizes or after a successor documentation branch is created from protected develop:
implemented_on_develop,active_pr,planned,superseded,out_of_scope,known_gap);Documentation-as-code acceptance
Add or extend tests so they fail when material documentation drifts from live repository contracts. At minimum verify where practical:
active_prfunctionality as shipped;Writer/stack safety
Do not race an active writer on #149. The live-vs-body head mismatch above proves the branch is currently moving. Reconcile it read-only and perform source documentation updates only after that branch is stable or from a new direct-
developsuccessor after #149 merges/closes. A documentation branch conflict blocks only that branch; continue other non-conflicting mightyETL work.The same branch-local freeze applies to #157 and #164 for the remainder of the invocation because their source heads moved under another writer. Metadata/issue truth can still be maintained without mutating those source refs.
Do not deepen or rewrite the #121→#143→#148 stack solely to make documentation current. Document active stack state truthfully and repair source ancestry only for independent integration value.
Completion criteria
This issue can close only when:
develop;Documentation completion is not a commercial-loop terminal state. After this issue or #149 is green/merged/waiting, the autonomous loop must immediately return to the live implementation/security/product queue and continue safe work.