…start AF-CTR-04; AF-ID-02 owns e-mail enrollment
AF-CTR-03 -> delivered with its PRs, merges and publications, and a record-correction note on five out-of-path root files. AF-CTR-04 widened under execution-policy 1.6 (paths, SignOutNode, the fleet and mobile surfaces, the mobile native authorization with app-link hosting on the acceptance environment, the E4-INTERNAL repair before C0, the part-B prerequisites, fakes, acceptance, R-AUTH-002 and R-CTR-017) and started. AF-CTR-05 owns the Contracts follow-up window; AF-AND-01 depends on AF-CTR-04; AF-PROD-01 records its prerequisites, the production mail decisions and the production app-link routes; AF-ID-02 (outside the authorized range, not started) owns e-mail enrollment and the security notices. AR-14 and H-19 rewritten; AR-14 and AR-23 evidence sections added.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01H6Cf6kHnz1ZkfURhVWvGjP
This PR records AF-CTR-03 as delivered and widens AF-CTR-04's task record before its work starts (execution-policy §1.6), then starts AF-CTR-04. It also records two gaps found with the AF-CTR-03 mail adapters. It changes graph content, so it is reviewed like a task (execution-policy §4). The Design companion is ArcForges-Design
design/af-ctr-03-companion-2.AF-CTR-03 ->
delivered62ccef1).d4e1110), #120 (5ee9ea1), #121 (204f47a), #122 (2f2a3b3), #123 (48bcbf2), #124 (025eb91), #127 (4f7dfe8).474017f; no product change). It restored the proof dispatch: #127's larger test suite had pushed that dispatch's Source job past its 15-minute cap.arcforges/linuxfor Contracts; both legs for Cloud).1.0.0-ci.416.1and Go tag (run 40776894391).0.1.0-ci.459.1to0.1.0-ci.512.1).0.1.0-ci.464.1to0.1.0-ci.513.1).gh run view: success, at the merge SHA.deliveredledger line:--operator-grantmodes passed, last on 2026-11-03. Also REAL: the Go integration tests on real PostgreSQL and two mail probes that deliver nothing.complete: delivered code still answers INTERNAL/internal with UNKNOWN and AFTER_TIME (arc.Internal()), which the ContractsarcErrorrule rejects.completefollows the E4-INTERNAL repair, asset-state AF-CTR-03 completewith no new--pr/--merge, citing that PR in its ledger line.Record correction (ledger note on AF-CTR-03)
Five root files that AF-CTR-03's Cloud PRs changed are outside its recorded write paths:
.gitleaks.toml,.dockerignore,tsconfig.json,biome.jsonand a monitoring runbook. The PR bodies describe most of these changes: #118's scope notes describe its.gitleaks.tomlblocks and every PR body its gitleaks blocks; #121 describes the Docker context, #123biome.json, #127 the runbook and.dockerignore. Three changes are mentioned in no PR body: the.dockerignorelines of #118 and #123, and #121'stsconfig.jsoninclude. No Plan record widened the paths beforehand, which execution-policy 1.6 asks for first. The note records it now. AF-CTR-03's paths are not rewritten; AF-CTR-04's paths name the files before its work starts.AF-CTR-04 widened and started
public/http/**,src/public/dotnet/**,.gitleaks.toml(decision contracts-1)..gitleaks.toml,.dockerignore,biome.json,tsconfig.json,deploy/**.SignOutNode, the eleventh NodeEnrollmentService method.fleetandmobilesurfaces./app/callbackand/.well-known/assetlinks.jsonserved behindmobileon the acceptance environment first. AF-PROD-01 adds the production routes (decision Q15).active, with astartedledger line. The parts and their order are in the ledger note, including a second scope Plan PR before CM and part D last.AF-CTR-05, AF-AND-01, AF-PROD-01
AF-CTR-05 owns the Contracts follow-up window before AF-PROD-01:
maxLengthfrom 320 to 254;ResponseMetaon the Worker's generated replies;Its Contracts paths gain
public/http/**,src/public/dotnet/**and.gitleaks.toml(ledger note, 1.6).AF-AND-01:
depends_ongains AF-CTR-04.android.md:50), not a loopback.AF-PROD-01:
mobile.AF-ID-02 owns e-mail enrollment (gap)
No task owned the enrollment of an e-mail identity, so no production code creates one and no real account can be mailed.
src/**andtests/**); they weresrc/**andtests/**only, although its objective is the Go center.Acceptance register
docs/ar-23-owner-procedure.md.Checks
python3 tools/plan.py validate --design <ArcForges-Design design/af-ctr-03-companion-2>: 0 errors; 63 tasks, 17 milestones. Against Designmain: also 0 errors.python3 <Design branch>/tools/check_design.py --plan delivery-graph.json: 0 errors.main: 2 errors (the R-AUTH-002 and R-CTR-017 task sets). This is expected until the Design PR merges, so this PR'slinux-traceabilitystep fails until then. After the Design merge, both legs are re-run (the summaries recorddesign-main).python3 -m unittest discover -s tests: 48 tests OK.git diff --check: clean.sequence.mdand the ledger were written bytools/plan.pyonly.🤖 Generated with Claude Code
https://claude.ai/code/session_01H6Cf6kHnz1ZkfURhVWvGjP