9.1 KiB
Repository synchronization audit — 2026-11-01
Publication is incomplete under the current scanner policy. The clean-file commit loop is terminal; rejected originals remain intact. No native scanner policy was changed.
Scope and completed publication
The inventory covered 210 checkouts: 169 primary repositories, 18 linked worktrees, 17 managed clones, two nested dependencies, three tool checkouts and one explicitly local retired archive. Primary publication is distinguished from dependency/tool/cache state; pinned clones are checked for remote containment rather than moved to latest main.
- Committed source/workplan/session/capture changes in seven repositories, then processed the large Custodian archive with normal hooks: 232 paths in the initial successful batches plus 3,553 in the smaller retry, with 139 rejected paths preserved. These counts include the required audit and describe file operations, not unique Git blobs.
- Removed generated local briefs from tracking in 16 affected repositories, preserving their files and adding precise root ignore rules.
- Adopted the existing staged-source work-record generator in approval-engine, informed-decision and state-hub. Generation and check passed; source opt-in files and current indexes were committed and pushed. Unrelated operating evidence was excluded.
- Repaired all 17 managed-clone fetch routes from canonical primary remotes. Git ancestry proved the historical names issue-facade → issue-core and repo-registry → repo-scoping. All fetches passed; pins/files stayed unchanged and no pinned history was unpublished.
- Published Intelligence Radar's original history after 95 larger blobs passed the unchanged receiver in bounded temporary refs. Final main equality was verified and every temporary ref was removed.
- Audited every local branch. Published four additional branches under their existing names, without main merges or history rewrites: executor-sandbox/local-smoke-2026-07, reef-railiance/backup-pre-main-reset, rein-aharness/assembly-webfetcher-v0.2.0 and the-custodian/cust-wp-0081-original-unpublished. Normal receiver acceptance and exact remote-tip checks passed.
- Inspected SMTP source edits that appeared during the sweep. The launcher tests passed 21/21 and its changes were committed. The separate attended binding record contains an operator's existing confirmation and receipt reference; committing it does not constitute new approval by this agent.
The latest full tip sweep proved 168 equal checkout tips: 167 primary repositories plus the ignored upstream mirror. Custodian subsequently reached remote equality at the clean-file checkpoint, before this final audit update. The final follow-up verification is recorded separately; this historical observation is not a claim that blocked publication is complete.
Remaining files and histories
| Case | Observed reason | Disposition |
|---|---|---|
| Custodian 139 original paths | Pinned staged scanner reports generic-api-key findings | Originals retained; value-free file/object/rule/line metadata in docs/changes/2026-11-01-scanner-json-digest/remaining-findings.json |
| RApp flex-auth main history | Receiver rejects source-pin.json blob e844bada043f4169c49f3e9dbe7218cf2cf486d3, JSON filename/SHA256 mapping | Stub and both local histories were preserved in merge 6e1753a; publication needs reviewed scanner correction |
| Apps custody/cust81-apps-unpublished-r2 | JSON filename/SHA256 manifest in introduced history | Historical branch preserved; same tested serialization class |
| RApp user-engine backup/wp0004-pre-envstrip | Captured GPG_KEY entries in native image environment reports, four findings | 40-character hexadecimal fingerprint-shaped data is not a private-key payload; preserve historical branch pending exact review rather than call it a credential leak |
| Social csoc-unpublished-progress-20261027 | Receiver rejects docs/usecases/platform-communication.md blob 0a6ca11b651ad3acde166e332e5653001741ee71, line 41 | Redacted review identifies prose in a diagnostic-redaction requirement; branch retained pending content-bound adjudication |
| State-hub nine weekly review JSON files | Generated-only commit guard | Preserve local evidence; define an approved durable operating-evidence publication rule rather than bypass the source-change gate |
| Four managed INTENT.md overlays | Generated bootstrap content in old pinned caches differs from current owner intent | Preserve as analysis state; do not publish over the primary owner declaration |
All 139 Custodian paths have actual rule/line diagnostics, not an assumption of harmlessness. The report describes line contexts (hash-like strings, UUIDs, fixture text or source expressions); those classifications do not establish credential validity. An earlier empty report-transport experiment was discarded as unverified and superseded by complete redacted reports. The social history also demonstrates why commit-diff scanning is insufficient: its diff inspection was clean, but the complete introduced-object receiver found the blob.
Class-level repairs and suggestions
- Generated local state: keep orientation briefs local with precise ignores and remove tracked copies without deleting the working file. Generate tracked indexes from staged authoritative sources, as now adopted in the three affected repositories. Keep disposable analysis overlays outside owner source.
- Scanner deadlines: bound imports while preserving every introduced object, parent, tree/ref name and commit/tag payload check. The successful Intelligence Radar import proves this can work without changing history, reducing coverage or disabling hooks. Keep exact clean receipts and verify removal of temporary refs.
- False-positive provenance: the paired candidate narrowly extends the existing filename/exact lowercase-SHA256 exception to equivalent quoted JSON. Both profiles are identical; bare secret assignments, provider tokens, uppercase/long values and actual private-key cases remain refused in tests. The exact RApp blocked blob passes the candidate. This is a candidate, not an activation receipt or a disposition for other findings.
- Other non-credential findings: use independently reviewed, rule-specific, content-bound adjudication for public fingerprints, provenance, UUIDs, fixture text and prose. Do not blanket-ignore evidence/test directories, key prefixes or all prose. Retain original findings and failures.
- Stale routes: reconcile caches with canonical remotes and verified rename ancestry, not guessed repository names. Preserve intentional pins and prove their commits are contained remotely.
Validation and native checkpoint
Warden case-sheet tests passed 10/10; the Forge resource unittest passed; staged index generation/check passed in all three adoptions; the local JSON-profile integration selection passed 12 tests; the full receiver suite passed with pinned real Gitleaks in 150.087 seconds; SMTP launcher tests passed 21/21. Archives were inspected without extraction/execution: the RApp source tar has 13 members and the upstream chart has 281, with no unsafe paths or credential-named members observed. These checks have their stated scopes and do not claim universal secret detection or native runtime acceptance.
The current agent Kubernetes identity cannot inspect/administer the forge. The founder returned current deployment/pod metadata through their attended admin context; the agent did not read or use that admin credential. The required read-only artifact/config/guard/headroom inspection is prepared at /tmp/forge-scanner-preflight.sh, but its result is still unavailable. An exact native rollout, verification, rollback and supervisor approval must follow that result before any receiver update.
The source candidate, original/candidate hashes, exact built artifact hash, regression patch and read-only proposals are in docs/changes/2026-11-01-scanner-json-digest/. They authorize nothing. Existing supervision remains supervised; failed/refined attempts stay unscored.
Retired worker disposition
The founder explicitly keeps archive/260717-executor-worker-retired local. It was adopted into agent-harness on 2026-07-17 under DEC-2026-002 to avoid per-project execution glue. The accepted 2026-07-26 Glas ADR renamed agent-harness to rein-aharness, the direct task-execution/commit-verification/reporting successor beneath glas-harness. Scheduling remains with activity-core and isolation with sand-boxer. Sources are the archive README, rein-aharness's shared-runtime ADR and glas-harness's rein-family ADR; lineage is not proof that every runtime profile is production-ready.
Tracking and completion
workplans/CUST-WP-0083-fleet-sync-and-scanner-remediation.md retains the full goal and outstanding native/publication checks. Source records and this audit must be committed through normal hooks, followed by required consistency and final remote checks. Do not mark this goal or workplan finished while required publication remains blocked or unverified. Sanitized closeout counts are in docs/changes/2026-11-01-scanner-json-digest/sync-closeout-receipt.json; detailed execution receipts remain in /tmp/*-results.json and the tool history.