From 97542dae365070d5b1c05fcd2155dbbaa81eef17 Mon Sep 17 00:00:00 2001 From: Abiorh001 Date: Thu, 13 Aug 2026 17:51:10 +0100 Subject: [PATCH 01/11] docs(arch): sequence contribution policy cutover --- .agent-loop/CURRENT_STATE.md | 14 ++- .../CHUNK_MAP.md | 16 ++- .../DECISIONS.md | 21 ++++ .../DISCOVERY.md | 19 +++ .../INTENT.md | 12 ++ .../PLAN.md | 33 ++++++ .../RISKS.md | 4 + .../STATUS.md | 4 + ...-ARCH-001-CP01-auth-policy-registration.md | 17 +++ .../WS-ARCH-001-CP02-con-binding-behavior.md | 15 +++ ...S-ARCH-001-CP03-auth-binding-activation.md | 12 ++ .../WS-ARCH-001-CP04-con-policy-behavior.md | 17 +++ ...WS-ARCH-001-CP05-auth-policy-activation.md | 11 ++ ...RCH-001-CP06-con-policy-validation-port.md | 16 +++ ...H-001-CP07-project-guide-policy-binding.md | 16 +++ ...CH-001-CP08-task-attempt-policy-lineage.md | 23 ++++ ...S-ARCH-001-CP09-legacy-economic-removal.md | 19 +++ ...H-001-PLAN3-contribution-policy-cutover.md | 112 ++++++++++++++++++ .../CHUNK_MAP.md | 3 + .../STATUS.md | 4 + .../AUTHORIZATION_HANDOFF.md | 15 ++- .../CHUNK_MAP.md | 20 ++-- .../CONFORMANCE_MATRIX.md | 8 +- .../DISCOVERY.md | 6 +- .../JOINT_RELEASE_HANDOFF.md | 4 +- .../RISKS.md | 2 +- .../RUNTIME_VERIFICATION.md | 6 +- .../STATUS.md | 39 ++++-- ...-001-04A-hidden-adapter-binding-service.md | 3 + ...-04B-hidden-contribution-policy-service.md | 3 + ...-economic-terms-cutover-and-task-freeze.md | 3 + ...-001-05B-legacy-economic-schema-removal.md | 3 + ...review-lease-contribution-policy-freeze.md | 4 +- ...-001-08A-outbound-compensation-delivery.md | 4 +- docs/roadmap_status.md | 4 +- 35 files changed, 460 insertions(+), 52 deletions(-) create mode 100644 .agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP01-auth-policy-registration.md create mode 100644 .agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP02-con-binding-behavior.md create mode 100644 .agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP03-auth-binding-activation.md create mode 100644 .agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP04-con-policy-behavior.md create mode 100644 .agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP05-auth-policy-activation.md create mode 100644 .agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP06-con-policy-validation-port.md create mode 100644 .agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP07-project-guide-policy-binding.md create mode 100644 .agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP08-task-attempt-policy-lineage.md create mode 100644 .agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP09-legacy-economic-removal.md create mode 100644 .agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-PLAN3-contribution-policy-cutover.md diff --git a/.agent-loop/CURRENT_STATE.md b/.agent-loop/CURRENT_STATE.md index 378ff3629..e48fb4dcb 100644 --- a/.agent-loop/CURRENT_STATE.md +++ b/.agent-loop/CURRENT_STATE.md @@ -80,11 +80,21 @@ WS-ARCH-001-04E is planned. WS-ARCH-001-04F is planned. WS-ART-001-06A is a planned retirement. WS-ART-001-06B is a planned retirement. WS-AUTH-001-14 is a planned retirement. WS-POL-003-08 is planned after canonical WS-ARCH-001-04E. -WS-CON-001-05A is planned before live task readiness. WS-CON-001-06 is a planned retirement. +CP06 validation plus CP07/CP08 owner persistence are proposed before live task +readiness. WS-CON-001-06 is a planned retirement. Submission stamps the assignment's exact attempt version, and ReviewLease inherits that immutable Submission version without a CON lookup. -WS-CON-001-05B is planned after the 05A zero-consumer proof. +CP09 is the proposed clean legacy economic-path removal after ARCH-03C activates +the CP08/ARCH-03B replacement behavior. WS-REV-001-10 is planned after its named REV and CON prerequisites. Merged WS-CON-001-PLAN5 remains historical evidence for same-TaskAssignment human revision rebase; current PLAN2 supersedes its independent reviewer-policy selection wording. + +## Proposed PLAN3 correction + +Do not start historical CON-05A directly. The proposed CP01-CP09 sequence owns +AUTH unavailable registration, hidden CON binding/policy behavior, exact AUTH +activations, CON validation, PROJECT guide binding, TASK attempt lineage, and +clean v0.1 legacy economic-path removal in that order. Every child remains +non-executable until PLAN3 merges and its current-main contract is expanded. diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/CHUNK_MAP.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/CHUNK_MAP.md index 48915a5e3..4ce0b56d7 100644 --- a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/CHUNK_MAP.md +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/CHUNK_MAP.md @@ -15,10 +15,20 @@ | `WS-ARCH-001-02H` | AUTH human/fixed-service consumption activation | L1 | Complete on merge; public route remains unchanged | | `WS-ARCH-001-02I` | Admission-only public API/dispatch cutover and complete legacy removal | L1 | Deferred after 02H plus split 03/04/05 remediation, revision, checker-output and REV admission prerequisites | | `WS-ARCH-001-PLAN2` | Current-main reconciliation around canonical Submission-to-`allow_review` | L1 | Planned; planning contract lands on merge | +| `WS-ARCH-001-PLAN3` | ContributionPolicy registration, behavior, activation, guide/task lineage and clean legacy-removal sequencing | L1 | Proposed planning correction; no runtime | +| `WS-ARCH-001-CP01` | AUTH adapter-binding and ContributionPolicy unavailable registration | L1 | Proposed skeleton after PLAN3 | +| `WS-ARCH-001-CP02` | CON hidden adapter-binding behavior | L1 | Proposed skeleton after CP01 | +| `WS-ARCH-001-CP03` | AUTH exact adapter-binding activation | L1 | Proposed skeleton after CP02 evidence | +| `WS-ARCH-001-CP04` | CON hidden ContributionPolicy behavior | L1 | Proposed skeleton after CP03 | +| `WS-ARCH-001-CP05` | AUTH exact ContributionPolicy activation | L1 | Proposed skeleton after CP04 evidence | +| `WS-ARCH-001-CP06` | CON guide-activation/revision policy-validation port | L1 | Proposed skeleton after CP05 | +| `WS-ARCH-001-CP07` | PROJECT guide-bound ContributionPolicyVersion persistence | L1 | Proposed skeleton after CP06 | +| `WS-ARCH-001-CP08` | TASK/Assignment/Submission policy-lineage schema and public facts | L1 | Proposed foundation after CP07; no commands | +| `WS-ARCH-001-CP09` | Clean retired guide-bound economic path removal | L1 | Proposed after ARCH-03C activates the replacement; split if discovery requires | | `WS-ARCH-001-03` | PROJECT/TASK readiness coordination parent | L1 | Split; non-executable parent | -| `WS-ARCH-001-03A` | PROJECT current approved unified-generation public facts | L1 | Planned skeleton after AUTH-12H; POL-08 cleanup remains later | -| `WS-ARCH-001-03B` | TASK readiness, claim, assignment and locked-context public commands/facts | L1 | Planned skeleton after 03A and CON-05A guide-activation policy validation/persistence contract; TASK locks the guide-bound version before claimability and claim only inherits it | -| `WS-ARCH-001-03C` | AUTH-13 task/assignment activation and integrated readiness proof | L1 | Planned skeleton after 03A/03B hidden manifests and CON-05A; no live claim before exact guide -> task -> assignment lineage proof | +| `WS-ARCH-001-03A` | PROJECT current approved unified-generation public facts | L1 | Planned after AUTH-12H and CP07; may reuse CP07 public guide fact but cannot duplicate its write | +| `WS-ARCH-001-03B` | TASK readiness, claim, assignment and locked-context public commands/facts | L1 | Sole behavior owner after 03A and CP08; consumes CP08 fields/facts to write Task -> Assignment -> Submission lineage | +| `WS-ARCH-001-03C` | AUTH-13 task/assignment activation and integrated readiness proof | L1 | Planned after 03A/03B and CP08; activates replacement before CP09 removes the retired path | | `WS-ARCH-001-04` | Canonical post-submit checker coordination parent | L1 | Split; non-executable parent | | `WS-ARCH-001-04A` | CHECKER post-submit plan/run/final-result public contract | L1 | Planned skeleton after POL-07 and 03C | | `WS-ARCH-001-04B` | ART exact verified Submission materialization | L1 | Planned skeleton after 04A and merged 02H | diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/DECISIONS.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/DECISIONS.md index 9faaab434..9d5bf7d07 100644 --- a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/DECISIONS.md +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/DECISIONS.md @@ -112,3 +112,24 @@ exact frozen submitter and reviewer ContributionPolicyVersion references. All retired economic-policy vocabulary and fields are removal debt for the owning clean-cut chunks before public release; they are not authority and receive no compatibility alias or fallback. + +## D15: ContributionPolicy cutover is registration-behavior-activation + +Adapter-binding and ContributionPolicy capabilities follow separate AUTH +registration -> hidden CON behavior -> exact AUTH activation sequences. Future +fulfillment callback authority is not a prerequisite and cannot be inherited. + +## D16: Aggregate owners persist policy lineage + +CON validates and returns immutable policy-version facts. PROJECTS alone binds +the version to ProjectGuide. TASKS alone locks it on Task, copies it to +TaskAssignment, and stamps it on Submission. ReviewLease later copies only the +Submission stamp. No product service imports another module's model or +repository to perform those writes. + +## D17: v0.1 removal is clean, not compatible + +The consolidated baseline is the current schema authority. The retired +guide-bound economic path is removed only after canonical lineage is live, with +no alias, fallback, dual read/write, guessed conversion, or historical backfill +unless future discovery proves an actual deployed-data obligation. diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/DISCOVERY.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/DISCOVERY.md index a2eb937f6..85e8c5fcf 100644 --- a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/DISCOVERY.md +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/DISCOVERY.md @@ -183,3 +183,22 @@ complete unified guide compilation and approval PR #329 is the open planning reconciliation for this boundary. No open implementation pull request owns the executable sequence; the owner skeletons remain non-executable until refreshed against current `main`. + +## PLAN3 current-main discovery + +- ContributionPolicy and immutable version/rule/definition persistence already + exist under the CON-owned contributions module. +- AUTH contains broad compensation permission identifiers but no exact + `contribution.policy.*` ActionIds, ActionOwner custody, typed contexts, or + planned definitions suitable for the hidden service. +- The historical CON-04A contract incorrectly makes future fulfillment callback + registration a prerequisite of adapter-binding behavior. +- ProjectGuide lacks `contribution_policy_version_id`; WorkstreamTask, + TaskAssignment, and Submission lack their canonical ContributionPolicyVersion + lineage fields. +- Retired guide-bound economic fields and consumers remain live across PROJECTS, + TASKS, Submission, and CHECKERS. +- The active schema is the consolidated `0001_v01_baseline`; there is no + repository evidence requiring a compatibility alias, deployed-history + backfill, or guessed legacy-row conversion. +- No open pull request currently owns this sequence. diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/INTENT.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/INTENT.md index 3e48465d3..cdd5d5343 100644 --- a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/INTENT.md +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/INTENT.md @@ -54,3 +54,15 @@ module and every cross-module call must use a typed public API. - CON validates one policy version at guide activation and is mandatory again in every final Review commit. TASK and REV inherit the immutable version; neither claim performs CON policy selection. + +## PLAN3 intent + +Turn PLAN2's correct ContributionPolicy lifecycle into an executable, +non-circular sequence. Success means AUTH registers before behavior, each CON +behavior activates only after hidden proof, CON exposes validation without +writing foreign aggregates, PROJECTS binds the guide, TASKS carries immutable +attempt lineage, and the retired guide-bound economic path is removed without +compatibility or invented historical migration work. + +PLAN3 changes planning only. It does not register an action, activate a route, +write policy behavior, mutate schema, or start a runtime child. diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/PLAN.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/PLAN.md index 10e2fa6e7..87a994e18 100644 --- a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/PLAN.md +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/PLAN.md @@ -275,3 +275,36 @@ implicit public release. - Put orchestration in ART or AUTH: transfers lifecycle ownership. - Create a generic shared domain/service locator: hides coupling. - Preserve the debt ledger permanently: normalizes the architecture failure. + +## PLAN3 ContributionPolicy implementation correction + +PLAN2's lifecycle rule remains canonical, but its earlier instruction to begin +CON-05A is not executable on current main. ContributionPolicy persistence exists +without hidden policy behavior or exact AUTH action registration/activation; +the retired guide-bound economic path remains live across PROJECTS, TASKS, Submission, +and CHECKERS. The repository now uses one consolidated v0.1 baseline, so no +deployed-history conversion or compatibility path is assumed. + +The corrected linear sequence is: + +```text +CP01 AUTH unavailable registration +-> CP02 CON hidden adapter-binding behavior +-> CP03 AUTH adapter-binding activation +-> CP04 CON hidden ContributionPolicy behavior +-> CP05 AUTH ContributionPolicy activation +-> CP06 CON validation port +-> CP07 PROJECT guide binding +-> CP08 TASK/Assignment/Submission schema and public lineage facts +-> ARCH-03A PROJECT current-generation facts +-> ARCH-03B TASK readiness, claim, assignment and Submission behavior +-> ARCH-03C AUTH task/assignment activation +-> CP09 clean legacy economic-path removal +``` + +Each arrow consumes merged public behavior. No chunk imports another product +module's models or repository. Callback/fulfillment authority is excluded from +adapter-binding registration. CON validates policy facts; PROJECTS owns guide +writes; CP08 supplies TASK-owned persistence/public facts; ARCH-03B alone owns +Task readiness, claim, assignment, and Submission command writes; REV later +copies only the immutable Submission policy stamp. diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/RISKS.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/RISKS.md index 5691ebcab..650dd59e7 100644 --- a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/RISKS.md +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/RISKS.md @@ -24,3 +24,7 @@ | Live assignment or review claim loses the one task-governing ContributionPolicyVersion | Critical | Enforce immutable guide -> task -> assignment -> Submission/allow_review -> ReviewLease lineage; missing, cross-project, stale or mismatched facts deny before claim effects, and neither claim performs CON policy lookup | | Review decision commits without mandatory contribution consequences | Critical | Stable REV schema precedes CON-03C/07; every decision atomically creates reviewer ContributionRecord/awards and accept additionally creates FinalAcceptance plus submitter record/awards | | Composition root absorbs domain decisions | High | Composition opens the unit of work and wires transaction-bound ports only; TASK command owns Submission sequencing and each target port enforces its own invariants | +| Policy behavior starts before exact AUTH registration | Critical | CP01 registers typed unavailable authority before CP02/CP04 behavior; CP03/CP05 activate only after hidden proof | +| Binding management inherits fulfillment callback authority | Critical | CP01-CP03 exclude delivery/callback identities and permissions entirely | +| CON writes PROJECT or TASK aggregates | Critical | CP06 returns immutable validation facts only; CP07 and CP08 own their respective writes | +| Consolidated v0.1 schema gains fake compatibility debt | High | CP09 performs a clean current-baseline cut and forbids aliases, dual paths, and invented backfills | diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/STATUS.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/STATUS.md index 090a9389f..7a5038069 100644 --- a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/STATUS.md +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/STATUS.md @@ -48,6 +48,10 @@ initiative: WS-ARCH-001 remains the general boundary owner, WS-AUTH-003 owns AUTH-specific debt, and test-structure repairs remain incremental with the capability being touched. +- PLAN3 corrects PLAN2's first implementation dependency. CON-05A is not a + valid direct start: missing AUTH registration/activation and hidden CON + behavior must precede owner-separated guide/task lineage. CP01-CP09 are + proposed non-executable skeletons until PLAN3 is reviewed and merged. ## Planned PLAN2 children diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP01-auth-policy-registration.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP01-auth-policy-registration.md new file mode 100644 index 000000000..5d208db2f --- /dev/null +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP01-auth-policy-registration.md @@ -0,0 +1,17 @@ +# Chunk Contract: WS-ARCH-001-CP01 — Contribution Policy AUTH Registration + +Status: proposed non-executable skeleton. Risk: L1. + +AUTH registers exact adapter-binding and ContributionPolicy action identifiers, +permission mappings, ActionOwner custody, Project Manager/administrative grant +semantics, typed resource contexts, and opaque PREP contracts. Every action +remains unavailable. Fulfillment callback, delivery, award reads, dispatcher, +TASK, and REV authority are excluded. + +Before implementation, replace this skeleton with a current-main contract that +names exact AUTH public types, catalogue rows, tests, allowed files, and +reviewers. No CON implementation or activation belongs here. + +## Merge state + +- Outcome on merge: `planned` diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP02-con-binding-behavior.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP02-con-binding-behavior.md new file mode 100644 index 000000000..d987e586e --- /dev/null +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP02-con-binding-behavior.md @@ -0,0 +1,15 @@ +# Chunk Contract: WS-ARCH-001-CP02 — Hidden Adapter-Binding Behavior + +Status: proposed non-executable skeleton after CP01. Risk: L1. + +CON implements only hidden adapter-binding create/read/suspend/resume behavior +through its public capability boundary and the registered opaque PREP protocol. +Routes remain absent and actions unavailable. Retirement, fulfillment callback, +provider behavior, policy commands, and AUTH edits are excluded. + +After hidden tests and feature evidence merge, a separate AUTH activation chunk +activates only these exact binding actions. + +## Merge state + +- Outcome on merge: `planned` diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP03-auth-binding-activation.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP03-auth-binding-activation.md new file mode 100644 index 000000000..299cac161 --- /dev/null +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP03-auth-binding-activation.md @@ -0,0 +1,12 @@ +# Chunk Contract: WS-ARCH-001-CP03 — Adapter-Binding AUTH Activation + +Status: proposed non-executable skeleton after CP02. Risk: L1. + +AUTH integrates the exact adapter-binding evaluator and activates only the +binding create/read/suspend/resume actions proven by CP02. It adds no CON +behavior, callback authority, policy activation, or generic compensation +management permission. + +## Merge state + +- Outcome on merge: `planned` diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP04-con-policy-behavior.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP04-con-policy-behavior.md new file mode 100644 index 000000000..9e01e291e --- /dev/null +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP04-con-policy-behavior.md @@ -0,0 +1,17 @@ +# Chunk Contract: WS-ARCH-001-CP04 — Hidden ContributionPolicy Behavior + +Status: proposed non-executable skeleton after CP03. Risk: L1. + +CON implements hidden ContributionPolicy read/draft/update/publish/retire +behavior using the existing persistence aggregate, exact binding lifecycle, and +opaque PREP protocol. Explicit unpaid and compensated rules remain distinct. +Routes remain absent and policy actions unavailable. PROJECT guide activation, +TASK readiness, claim, assignment, Submission, REV, awards, and AUTH edits are +excluded. + +After hidden proof merges, a separate AUTH activation chunk activates only the +exact policy actions. + +## Merge state + +- Outcome on merge: `planned` diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP05-auth-policy-activation.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP05-auth-policy-activation.md new file mode 100644 index 000000000..0c80ae768 --- /dev/null +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP05-auth-policy-activation.md @@ -0,0 +1,11 @@ +# Chunk Contract: WS-ARCH-001-CP05 — ContributionPolicy AUTH Activation + +Status: proposed non-executable skeleton after CP04. Risk: L1. + +AUTH integrates exact ContributionPolicy evaluators and activates only the +policy operations proven by CP04. It adds no ProjectGuide, TASK, REV, award, +fulfillment, or provider behavior. + +## Merge state + +- Outcome on merge: `planned` diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP06-con-policy-validation-port.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP06-con-policy-validation-port.md new file mode 100644 index 000000000..bcad8bb89 --- /dev/null +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP06-con-policy-validation-port.md @@ -0,0 +1,16 @@ +# Chunk Contract: WS-ARCH-001-CP06 — ContributionPolicy Validation Port + +Status: proposed non-executable skeleton after CP05. Risk: L1. + +CON exposes one caller-session, flush-only public validation capability that +locks and returns the exact active, published, complete, binding-valid, +same-project ContributionPolicyVersion for guide activation or controlled +human-revision preparation. It owns no ProjectGuide, Task, TaskAssignment, +Submission, claim, ReviewLease, or authorization write. + +No migration or legacy removal belongs here. Missing, ambiguous, crossed- +project, draft, incomplete, or invalid binding state fails closed. + +## Merge state + +- Outcome on merge: `planned` diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP07-project-guide-policy-binding.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP07-project-guide-policy-binding.md new file mode 100644 index 000000000..5f7288376 --- /dev/null +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP07-project-guide-policy-binding.md @@ -0,0 +1,16 @@ +# Chunk Contract: WS-ARCH-001-CP07 — Project Guide Policy Binding + +Status: proposed non-executable skeleton after CP06. Risk: L1. + +PROJECTS extends its public guide-activation composition to call the CON public +validation capability and persist the returned exact version as non-null +`ProjectGuide.contribution_policy_version_id`. PROJECTS owns the guide write and +single transaction; it imports no CON models/repositories and performs no +policy selection itself. + +This chunk reconciles the current v0.1 baseline schema for ProjectGuide only. +TASK/Assignment/Submission fields and legacy economic-path removal remain later. + +## Merge state + +- Outcome on merge: `planned` diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP08-task-attempt-policy-lineage.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP08-task-attempt-policy-lineage.md new file mode 100644 index 000000000..b4a34535d --- /dev/null +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP08-task-attempt-policy-lineage.md @@ -0,0 +1,23 @@ +# Chunk Contract: WS-ARCH-001-CP08 — Task Attempt Policy Lineage Foundation + +Status: proposed non-executable skeleton after CP07. Risk: L1. + +TASKS adds its public immutable facts and persistence constraints for +`WorkstreamTask.locked_contribution_policy_version_id`, +`TaskAssignment.submitter_contribution_policy_version_id`, and +`Submission.contribution_policy_version_id`. It adds no readiness, claim, +assignment-creation, Submission-creation, or revision command behavior. + +ARCH-03B remains the sole behavior owner: readiness writes the Task lock, claim +copies it to TaskAssignment, and Submission creation stamps the assignment's +attempt version. Ordinary claim performs no CON lookup. ReviewLease later +copies only the Submission stamp. Human `needs_revision` remains the sole +controlled same-Task/TaskAssignment rebase boundary for the next attempt. + +This chunk owns only TASK aggregate schema, repository persistence, immutable +public facts, and constraint tests; +it imports no PROJECTS, CON, AUTH, ART, CHECKERS, or REV internals. + +## Merge state + +- Outcome on merge: `planned` diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP09-legacy-economic-removal.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP09-legacy-economic-removal.md new file mode 100644 index 000000000..846ee4c92 --- /dev/null +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP09-legacy-economic-removal.md @@ -0,0 +1,19 @@ +# Chunk Contract: WS-ARCH-001-CP09 — Legacy Economic Path Removal + +Status: proposed non-executable skeleton after ARCH-03C activates replacement +behavior. +Risk: L1. + +Remove the retired guide-bound economic schema, fields, services, API vocabulary, +checker snapshots, and remaining semantic consumers after the canonical +ContributionPolicy lineage is the sole live path. Update the consolidated v0.1 +baseline and fresh-install parity directly through the repository's bounded +schema workflow. Do not preserve aliases, dual reads/writes, compatibility +columns, historical backfills, or guessed conversion behavior. + +The chunk must be split further if current-main discovery shows removal crosses +more than one safely reviewable product boundary. + +## Merge state + +- Outcome on merge: `planned` diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-PLAN3-contribution-policy-cutover.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-PLAN3-contribution-policy-cutover.md new file mode 100644 index 000000000..7bb8aab81 --- /dev/null +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-PLAN3-contribution-policy-cutover.md @@ -0,0 +1,112 @@ +# Chunk Contract: WS-ARCH-001-PLAN3 — Contribution Policy Cutover Sequence + +## Parent initiative + +WS-ARCH-001 — Modular Monolith Boundaries + +## Goal + +Replace the stale CON-05A start instruction with one dependency-ordered, +owner-separated path from persisted ContributionPolicy data to guide binding, +task-attempt inheritance, and removal of the retired guide-bound economic path. + +## Why this chunk exists + +PLAN2 established the correct lifecycle but its first implementation dependency +is not executable. CON-05A currently assumes unavailable CON policy behavior, +missing AUTH registration/activation, a cross-owner schema mutation, and +historical-row classification that no longer applies after the v0.1 baseline +consolidation. + +## Approved plan reference + +- INTENT: `../INTENT.md` +- PLAN: `../PLAN.md` +- CHUNK_MAP: `../CHUNK_MAP.md` + +## Risk class + +L1 + +## SLA + +P1 + +## Allowed files + +```text +.agent-loop/CURRENT_STATE.md +.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/** +.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/{CHUNK_MAP,STATUS}.md +.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/{CHUNK_MAP,STATUS,DISCOVERY,RISKS,CONFORMANCE_MATRIX,RUNTIME_VERIFICATION}.md +.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/{AUTHORIZATION_HANDOFF,JOINT_RELEASE_HANDOFF}.md +.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-{04A,04B,05A,05B}*.md +.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-06-review-lease-contribution-policy-freeze.md +.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-08A-outbound-compensation-delivery.md +docs/roadmap_status.md +``` + +## Not allowed + +```text +backend application, migration, test, workflow, or dependency changes +action activation or product behavior +editing merged chunk outcomes as if they were current executable contracts +compatibility aliases, historical backfills, guessed row conversion +``` + +## Acceptance criteria + +- [ ] One linear sequence separates AUTH registration, hidden owner behavior, + AUTH activation, CON validation, PROJECT guide binding, TASK attempt lineage, + and legacy removal. +- [ ] No chunk imports another product module's models/repositories; owner + composition uses public typed ports. +- [ ] Adapter-binding authority is separated from future fulfillment callback + authority. +- [ ] CON validation owns no ProjectGuide, Task, Assignment, Submission, claim, + or review write. +- [ ] PROJECTS alone binds `ProjectGuide.contribution_policy_version_id`. +- [ ] TASKS alone locks/copies/stamps the Task, TaskAssignment, and Submission + policy-version lineage. +- [ ] ReviewLease continues to copy only the immutable Submission stamp. +- [ ] The consolidated v0.1 baseline is treated as the current schema source; + no deployed-history compatibility or data backfill is invented. +- [ ] Every implementation child remains proposed/non-executable until a + current-main contract supplies exact files, schema head, tests, and reviewers. + +## Verification commands + +```bash +python3 scripts/check_markdown_links.py +python3 scripts/check_stale_workstream_wording.py +python3 scripts/check_stale_authorization_docs.py +python3 scripts/check_chunk_state_sync.py --base-ref "$(git merge-base HEAD origin/main)" +git diff --check +``` + +## Required reviewers + +- [ ] senior engineering +- [ ] QA/test +- [ ] security/auth +- [ ] product/ops +- [ ] architecture +- [ ] docs +- [ ] reuse/dedup +- [ ] test delta + +## Human review focus + +Confirm the dependency order, authority split, absence of claim-time selection, +and clean v0.1 legacy removal before approving any runtime child. + +## Stop conditions + +Stop if an implementation child must combine AUTH and product behavior, if a +product owner must write another module's aggregate, or if compatibility work +is proposed without an actual deployed-data requirement. + +## Merge state + +- Outcome on merge: `planned` diff --git a/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/CHUNK_MAP.md b/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/CHUNK_MAP.md index e8baffdb6..1d0c7e08b 100644 --- a/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/CHUNK_MAP.md +++ b/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/CHUNK_MAP.md @@ -19,6 +19,9 @@ may proceed concurrently; open pull requests show transient ownership. | Chunk | Title | Risk | Status | |---|---|---:|---| +| `WS-ARCH-001-CP01` | Adapter-binding and ContributionPolicy unavailable registration | L1 | Proposed by PLAN3; excludes callback/fulfillment and all activation | +| `WS-ARCH-001-CP03` | Exact adapter-binding activation | L1 | Proposed after merged CP02 hidden proof | +| `WS-ARCH-001-CP05` | Exact ContributionPolicy activation | L1 | Proposed after merged CP04 hidden proof | | `WS-AUTH-001-PLAN` | Authorization Service Planning | L0 | Merged through PR #91 as `ad6d644` | | `WS-AUTH-001-01` | Adopt Authorization Baseline And Repository Contracts | L1 | Merged through PR #93 as `772af1d` | | `WS-AUTH-001-02` | Verified Issuer Token And JWKS Boundary | L1 | Merged through PR #107 as `060b780` | diff --git a/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/STATUS.md b/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/STATUS.md index 5c25517e5..11c9987e3 100644 --- a/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/STATUS.md +++ b/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/STATUS.md @@ -40,6 +40,10 @@ not current start requirements. - ART, REV, and CON feature actions remain unavailable until their exact hidden owner behavior and typed manifests are merged. Their activation order lives in the matching XINT and feature-owner records. +- PLAN3 proposes the missing contribution-policy sequence: CP01 registers exact + adapter-binding and policy actions while unavailable; CP03 and CP05 activate + only their respective merged hidden behavior. Fulfillment callback authority + remains separate and cannot be bundled into adapter-binding registration. Open pull requests are the transient-work view. This status page does not name an active branch or authorize implementation. GitHub permissions, a bounded diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/AUTHORIZATION_HANDOFF.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/AUTHORIZATION_HANDOFF.md index b8ce01804..dc2f4032e 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/AUTHORIZATION_HANDOFF.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/AUTHORIZATION_HANDOFF.md @@ -39,10 +39,11 @@ protocol and one caller-owned commit. | `03A` binding persistence | none; schema stores only canonical actor identity and non-secret route facts | CON may proceed | | `03B` policy persistence | none; no command or protected route | CON may proceed | | `02C` lifecycle audit participant | none; caller supplies already-authorized typed facts | CON may proceed | -| `04A` binding commands | `compensation.adapter_binding.{read,create,suspend,resume,retire}` mapped to `compensation.adapter_binding.manage` with exact Finance authority | register before hidden service; activate after it | -| `04B` policy commands | `contribution.policy.{read,create_draft,update_draft,publish,retire}` mapped to `compensation.policy.manage` with exact Finance authority | register before hidden service; activate after it | -| `05A` guide-activation validation/persistence | existing guide activation authority; later TASK readiness/claim authority remains TASK/AUTH-owned | CON supplies no TASK composition; exact guide/task/assignment lineage must be proven before claim activation | -| `06` former review-claim lookup | none | planned retirement; REV inherits admitted task-locked policy and AUTH adds no CON lookup path | +| `CP01` binding and policy registration | exact binding/policy actions, typed contexts, custody and permission mapping; callback/fulfillment excluded | register unavailable before hidden services | +| `CP03` binding activation | exact CP02-proven binding actions only | activate after hidden proof | +| `CP05` policy activation | exact CP04-proven policy actions only | activate after hidden proof | +| `CP06-CP08` validation and owner persistence | existing guide activation authority; later TASK readiness/claim authority remains TASK/AUTH-owned | CON validates only; PROJECT/TASK own writes | +| `06` former review-claim lookup | none | planned retirement; REV copies the admitted Submission's immutable attempt version, verifies Task/Assignment only for equality, and performs no CON/current-policy lookup | | `07` review decision participant | existing planned `review.decision` contract | REV owns composition/commit; AUTH later activates | | `02B` dispatcher | `outbox.dispatch`, closed dispatcher identity, singleton matrix row, provisioning, admission, typed context, evaluator, and availability | blocked; schedule after AUTH delivery | | `08B` fulfillment callback | independently approved reporter identity/action/matrix contract | not inherited from dispatcher | @@ -75,8 +76,10 @@ matrix rows, or evaluators. ## Immediate AUTH ask -No AUTH change blocks planning or CON `03A`, `03B`, or `02C`. Before CON `04A` -or `04B`, AUTH must publish the exact registration contracts above. Before CON +No AUTH change blocks planning or completed CON `03A`, `03B`, or `02C`. CP01 is +the first proposed implementation gate and registers binding/policy authority +while unavailable. CP03 and CP05 activate only their respective CP02/CP04 +hidden proof. Before CON `02B`, AUTH must deliver the complete dispatcher identity/admission/action contract. That later dispatcher work must not delay the persistence and transaction-participant foundations now needed by REV. diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CHUNK_MAP.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CHUNK_MAP.md index 0951628b2..11b9b0a24 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CHUNK_MAP.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CHUNK_MAP.md @@ -28,16 +28,16 @@ signed-loop records do not make behavior live. |---|---|---|---| | `03B` | Contribution-policy persistence | 03A | Merged PR #274; REV-03A2 FK is unblocked | | `02C` | Shared lifecycle-audit participant | PLAN4; current AuditEvent contract | Merged PR #277; independent of dispatcher; required before REV-04B | -| `04A` | Hidden adapter-binding service | 03A + exact AUTH registration/PREP contract | Blocked on AUTH registration | -| `04B` | Hidden contribution-policy service | 03B + 04A + exact AUTH registration/PREP contract | Blocked on AUTH registration | -| `WS-CON-001-05A` | Legacy semantic cutover + guide-activation ContributionPolicyVersion validation port + guide/task/assignment persistence contract | 04B + guide-activation contract + row-classification decision | Planned; no TASK composition; mandatory before WS-ARCH-001-03B task readiness | -| `WS-CON-001-05B` | Legacy economic schema removal | 05A zero-consumer proof | Planned | +| `04A` | Historical broad hidden adapter-binding contract | 03A + exact AUTH registration/PREP contract | Superseded by owner-separated ARCH CP01-CP03; callback authority is not a binding prerequisite | +| `04B` | Historical hidden contribution-policy contract | 03B + binding activation + exact AUTH registration/PREP contract | Superseded by ARCH CP04-CP05 | +| `WS-CON-001-05A` | Historical broad semantic cutover/validation/schema contract | unavailable behavior and cross-owner schema assumptions | Superseded by CP06 validation, CP07 PROJECT binding, CP08 TASK lineage, and CP09 removal | +| `WS-CON-001-05B` | Historical legacy economic schema removal | former 05A | Superseded by clean v0.1 CP09 without compatibility/backfill | | `WS-CON-001-06` | Retire former reviewer claim-time policy lookup | Replaced by guide -> task -> assignment -> Submission -> ReviewLease inheritance | Planned retirement; no implementation | | `03C` | ContributionRecord/CompensationAward persistence | 03B + merged REV Review/ReviewLease/FinalAcceptance targets | Proposed after REV-04B and mandatory before live REV decisions | | `03D` | Delivery/receipt/status persistence | 03C | Proposed | -| `07` | Atomic flush-only review contribution/award participant | 03C/03D + 05A + stable REV revision lineage | Proposed; mandatory before REV-10/first Review commit | +| `07` | Atomic flush-only review contribution/award participant | 03C/03D + CP06/CP08 + stable REV revision lineage | Proposed; mandatory before REV-10/first Review commit | | `02B` | Generic outbox dispatcher/recovery | AUTH dispatcher identity/action/matrix/context/PREP registration | Blocked on AUTH; required later, not before 03A/03B | -| `08A` | Outbound compensation delivery | 03D + 07 + 02B + 04A/04B + independent delivery authority | Proposed | +| `08A` | Outbound compensation delivery | 03D + 07 + 02B + CP02/CP04 + independent delivery authority | Proposed | | `08R` | Bound callback rate control | 08A | Proposed | | `08B` | Inbound fulfillment callback | 08R + independent callback authority/fence | Proposed | | `10A` | Contribution/award product reads | 08B + exact AUTH read contracts | Proposed | @@ -57,16 +57,16 @@ Deferred optional work: ```text PLAN4 -> 03A -> 03B ---------------------------> REV-03A2 - -> 04A -> 04B -> 05A -> 05B -> 02C ----------------------------------> REV-04B REV-04B + 03B -> 03C -> 03D -04B + guide activation facts -> 05A -> WS-ARCH-001-03B task readiness -> 03C activation +CP01 -> CP02 -> CP03 -> CP04 -> CP05 -> CP06 -> CP07 -> CP08 +CP08 -> WS-ARCH-001-03A/03B replacement behavior -> 03C activation -> CP09 task-locked policy lineage -> assignment -> Submission-stamped attempt lineage -> allow_review -> ReviewLease -REV revision lineage + 03C/03D + 05A -> 07 -> REV-10 first Review commit +REV revision lineage + 03C/03D + CP06/CP08 -> 07 -> REV-10 first Review commit AUTH dispatcher registration -> 02B -03D + 07 + 02B + 04A/04B -> 08A -> 08R -> 08B -> 10A -> 10B -> 10C -> 11 +03D + 07 + 02B + CP02/CP04 -> 08A -> 08R -> 08B -> 10A -> 10B -> 10C -> 11 ``` ART-03C is merged baseline evidence. Remaining ART submission/reviewer custody diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CONFORMANCE_MATRIX.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CONFORMANCE_MATRIX.md index 65693ee13..c7d7a02ad 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CONFORMANCE_MATRIX.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CONFORMANCE_MATRIX.md @@ -2,13 +2,13 @@ | Family | Owning chunks | Required proof | Final gate | |---|---|---|---| -| Canonical policy model | 01,03B,04B | ContributionPolicy/version/rules/definitions; explicit unpaid; immutable publish; one active policy; NUMERIC(38,18) decimal-string bounds; ISO 4217 money units; project-scoped points units; stable binding references | CON-11 | -| Adapter binding | 03A,04A,10B | one active binding per project/instrument; policy definitions and awards reference a binding with matching project/instrument identity while the binding stores no policy/award identifiers; non-secret route; suspend/resume and existing-award callback/replay behavior; retirement refuses active policy, unfinished frozen work, or unfulfilled award dependencies | CON-11 + joint live drill | -| Legacy clean cut | 05A,05B | zero semantic consumers before schema removal; deterministic row treatment; no alias/fallback; migration upgrade/downgrade | CON-11 | +| Canonical policy model | 01,03B,CP04/CP05 | ContributionPolicy/version/rules/definitions; explicit unpaid; immutable publish; one active policy; NUMERIC(38,18) decimal-string bounds; ISO 4217 money units; project-scoped points units; stable binding references | CON-11 | +| Adapter binding | 03A,CP02/CP03,10B | one active binding per project/instrument; policy definitions and awards reference a binding with matching project/instrument identity while the binding stores no policy/award identifiers; non-secret route; suspend/resume and existing-award callback/replay behavior; retirement refuses active policy, unfinished frozen work, or unfulfilled award dependencies | CON-11 + joint live drill | +| Legacy clean cut | CP09 after ARCH-03C activation | zero semantic consumers before schema removal; clean current-baseline parity; no alias/fallback/backfill | CON-11 | | Authorization | AUTH + each feature | current AUTH actor/grant/fixed-service/PREP and REV-readiness foundations, with current repository migrations through ART-owned `0050`; provisioning grants no service execution; CON mappings, identities, and static rows are absent on current main; every future artifact requires exact AUTH-owned registration and activation evidence, exact grant/static row, fixed-service admission, prepared handle bound to session/action/actor-ref/idempotency/request digest with substitution non-consumption, planned denial, and no local role logic | AUTH activation + CON-11 | | Final acceptance | REV + 03C,07 | accept creates one immutable FinalAcceptance per task/Review/Submission; needs_revision/reject create none; no create API/action, reopen, replacement, or adjudication path | joint live drill | | Contribution cardinality | 03C,07 + REV | one completed_review per valid Review with direct Review/lease lineage; one accepted_submission per FinalAcceptance with assignment lineage; mutually exclusive sources; revision Reviews distinct; automated outcomes create none | joint live drill | -| Policy lock and human revision rebase | 05A,07 + PROJECT/TASK/REV | one guide-bound version; exact task/assignment/lease fields; no claim-time lookup or publication-time drift; human needs_revision keeps/rebases/blocks the complete next-task context atomically and preserves completed history | joint live drill | +| Policy lock and human revision rebase | CP06-CP08, ARCH-03B,07 + PROJECT/TASK/REV | one guide-bound version; exact task/assignment/Submission/lease fields; no claim-time lookup or publication-time drift; human needs_revision keeps/rebases/blocks the complete next-task context atomically and preserves completed history | joint live drill | | Award evaluation | 03C,07 | matching frozen ContributionRule; unpaid creates none; at most one money/points; exact NUMERIC(38,18) definition copy; ISO 4217/project-scoped unit equality; no float, conversion, or rounding; replay stable | joint live drill | | Atomic REV/CON | 07 + REV | reviewer operation before branch; accept-only submitter operation after FinalAcceptance/accepted effects; stabilized digest; REV stages audit/outbox; CON flushes contributions/awards; zero ART calls; complete rollback | REV-10 + joint live drill | | Outbox isolation | 02A,02B | stable event/task IDs; claim fencing; retry/dead-letter/replay; dispatcher cannot inherit feature authority; handler returns typed outcome | CON-11 | diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/DISCOVERY.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/DISCOVERY.md index f24636635..e542fe63d 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/DISCOVERY.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/DISCOVERY.md @@ -122,8 +122,10 @@ REV-04B and 02B deferred until AUTH supplies its exact service authority. - Later migration-bearing merges may change the migration head; every implementation chunk must refresh current main. REV PLAN4 is merged, but each REV child still refreshes its exact runtime contract. -- The deterministic classification of legacy economic rows remains a human - data-migration decision before CON-05A/05B. +- The consolidated v0.1 baseline contains no evidenced deployed-history + obligation. CP09 uses clean removal; any future claim that production data + requires classification must be proven from current deployment evidence and + separately reviewed. - Exact CON ActionIds, service identities, dual-principal behavior, and activation owners require separate AUTH review; CON cannot invent them. - Provider fulfillment and callback authentication remain design inputs, not diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/JOINT_RELEASE_HANDOFF.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/JOINT_RELEASE_HANDOFF.md index a3219e858..13940631b 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/JOINT_RELEASE_HANDOFF.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/JOINT_RELEASE_HANDOFF.md @@ -39,10 +39,10 @@ CON 02C lifecycle audit participant -> CON 03C ContributionRecord/CompensationAward persistence -> CON 03D delivery/receipt/status and ordinal persistence -REV lease schema/caller facts + CON 04B policy service +REV lease schema/caller facts + ARCH-CP04/CP05 policy service and activation -> task-locked policy lineage carried through admission; no CON claim-time lookup -stable REV revision lineage + CON 03C/03D + CON 05A +stable REV revision lineage + CON 03C/03D + ARCH-CP06/CP08 -> CON 07 mandatory review-decision participant -> REV 10 hidden contribution composition diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/RISKS.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/RISKS.md index 127c23387..7d5c40bf8 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/RISKS.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/RISKS.md @@ -10,7 +10,7 @@ | Human revision mixes new guide/policies with stale contribution terms or rewrites completed awards | Incoherent contributor obligations and corrupted economic history | One task-owned complete-context preparation keeps/rebases/blocks atomically; only the next-attempt TaskAssignment selector changes; completed lease/contribution/award history remains immutable. | | Planning evidence is treated as runtime | Wrong migration or dependency assumptions | Treat ART #249 as merged ART runtime and REV #258 as merged planning evidence only; refresh main before every implementation. | | Migration collision with ART/REV | Broken linear history | Allocate only from the then-current Alembic head; no number is reserved in planning. | -| Legacy economic rows are guessed | Corrupted award policy lineage | Require explicit deterministic classification or fail closed before 05A/05B. | +| Compatibility or backfill is invented for the consolidated v0.1 baseline | Unnecessary dual paths and corrupted policy lineage | CP09 performs clean removal; require separately reviewed deployment evidence before any data-classification path. | | Dispatcher authority leaks to handlers | Cross-feature service privilege | Dispatcher owns mechanics only; every protected handler has independent identity/action/context. | | Optional evidence becomes core availability dependency | ART outage blocks contribution truth | Keep 09A/09B deferred and PostgreSQL reads authoritative. | | Provider receipt leaks secrets | Security/privacy incident | Persist only bounded non-sensitive receipt facts; explicitly deny provider bodies, secrets, tokens, signatures, URLs, PII, balances, ledgers, settlement data, and digests derived from any forbidden input. | diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/RUNTIME_VERIFICATION.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/RUNTIME_VERIFICATION.md index 60a08786c..74b752f09 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/RUNTIME_VERIFICATION.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/RUNTIME_VERIFICATION.md @@ -31,10 +31,8 @@ git diff --check | CON-03B | `app/modules/contributions/*` | `app/modules/contributions app/modules/projects/models.py app/db/models.py tests/test_contributions.py tests/test_projects.py alembic/versions/.py` | | CON-03C | `app/modules/contributions/*`; `app/modules/compensation/*` | `app/modules/contributions app/modules/compensation app/db/models.py tests/test_contributions.py tests/test_compensation.py alembic/versions/.py` | | CON-03D | `app/modules/compensation/*` | `app/modules/compensation app/db/models.py tests/test_compensation.py alembic/versions/.py` | -| CON-04A | `app/modules/compensation/*` | `app/modules/compensation app/composition/compensation.py tests/test_compensation.py tests/test_authorization.py tests/test_api_contract_e2e.py` | -| CON-04B | `app/modules/contributions/*` | `app/modules/contributions app/modules/projects/repository.py app/composition/contributions.py tests/test_contributions.py tests/test_projects.py tests/test_authorization.py tests/test_api_contract_e2e.py` | -| CON-05A | `app/modules/contributions/*`; `app/modules/projects/*`; `app/modules/tasks/*`; `app/modules/checkers/*` | `app/modules/contributions app/modules/projects app/modules/tasks app/modules/checkers app/db/models.py tests/test_contributions.py tests/test_projects.py tests/test_tasks.py tests/test_checkers.py tests/test_authorization.py tests/test_alembic.py tests/test_api_contract_e2e.py alembic/versions/.py` | -| CON-05B | `app/modules/projects/models.py`; `app/modules/tasks/models.py`; `app/modules/checkers/models.py`; `app/db/models.py` | `app/modules/projects/models.py app/modules/tasks/models.py app/modules/checkers/models.py app/db/models.py tests/test_projects.py tests/test_tasks.py tests/test_checkers.py tests/test_alembic.py alembic/versions/.py` | +| Historical CON-04A/04B/05A/05B | Superseded/non-executable | Use PLAN3 CP01-CP09 and each future current-main contract; do not execute retained historical rows | +| ARCH-CP01 through CP09 | Defined only by separately approved current-main contracts | Do not execute from this table alone | | CON-07 | `app/modules/contributions/*`; `app/modules/compensation/*` | `app/modules/contributions app/modules/compensation tests/test_contributions.py tests/test_compensation.py tests/test_authorization.py tests/test_outbox.py` | | CON-08A | `app/modules/compensation/*`; `app/workers/compensation.py`; `app/interfaces/compensation.py`; `app/adapters/compensation/*` | `app/interfaces/compensation.py app/adapters/compensation app/modules/compensation app/modules/outbox/handlers.py app/workers/compensation.py app/workers/celery_app.py app/composition/compensation.py tests/test_compensation.py tests/test_outbox.py tests/test_external_service_adapters.py` | | CON-08R | `app/modules/api_controls/*`; `app/api/deps/api_controls.py`; `app/core/config.py` | `app/modules/api_controls app/api/deps/api_controls.py app/core/config.py tests/test_api_rate_controls.py tests/test_config.py tests/test_alembic.py alembic/versions/.py` | diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/STATUS.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/STATUS.md index dc397a6e1..378b87a52 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/STATUS.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/STATUS.md @@ -50,10 +50,11 @@ schema work. Current dependency analysis yields: 3. PLAN5 complete-context human revision-rebase reconciliation. 4. CON-03B contribution-policy persistence, unblocking REV-03A2. 5. CON-02C lifecycle-audit participant before REV-04B. -6. Hidden policy/binding behavior and legacy clean cut as AUTH contracts become - available. -7. CON-05A guide-activation policy validation and the immutable guide/task/ - assignment persistence contract must merge before live task readiness. +6. CP01-CP05 register, implement, and activate binding/policy behavior in exact + pairs. +7. CP06 validation, CP07 guide binding, and CP08 task-attempt persistence + precede ARCH-03A/03B replacement behavior and ARCH-03C activation; CP09 then + removes the retired path. 8. Contribution/award persistence follows stable REV Review, ReviewLease and FinalAcceptance FK targets, but precedes live review decisions. 9. Review claim copies the admitted Submission's immutable attempt version; @@ -65,14 +66,24 @@ schema work. Current dependency analysis yields: Frozen rules may create zero, one or two CompensationAwards per record. 11. Dispatcher and fulfillment follow exact AUTH service registration. +## PLAN3 correction + +The former 04A/04B/05A/05B path is not executable as written. PLAN3 separates +AUTH registration, hidden CON behavior, AUTH activation, CON validation, +PROJECT guide binding, TASK attempt lineage, and clean legacy removal as +CP01-CP09. The consolidated v0.1 baseline removes any presumption of deployed +historical-row backfill or compatibility behavior. + ## Current blockers - CON-02B: missing `outbox.dispatch`, `workstream.outbox.dispatcher`, exact matrix/context/PREP support, and AUTH activation plan. -- CON-04A/04B and later protected surfaces: exact AUTH manifests are not yet - registered. -- CON-05A/05B: deterministic legacy-row classification remains a human data - decision. +- CP01: exact AUTH adapter-binding and ContributionPolicy manifests are not yet + registered; callback/fulfillment authority must remain separate. +- CP02-CP05: hidden behavior and exact activation have not merged. +- CP06-CP09: validation, owner schema lineage, and clean legacy removal wait for + the preceding public behavior. No historical-row classification is required + unless current-main discovery proves real deployed data exists. - CON-03C: REV Review and FinalAcceptance tables are not implemented. - CON-07: the corresponding REV decision caller contract is future. CON-06 is a planned retirement with no runtime dependency. @@ -86,15 +97,17 @@ Submission stamp without a claim-time CON lookup. Only fulfillment, reconciliation and product reads remain downstream of the canonical decision transaction. -WS-CON-001-05A is planned as the guide-activation validation and persistence +CP06 validation plus CP07/CP08 owner persistence replace former CON-05A as the prerequisite for task readiness. WS-CON-001-06 is a planned retirement; ReviewLease copies the admitted Submission's immutable attempt version and verifies upstream Task/Assignment equality only. -WS-CON-001-05B is planned after the 05A zero-consumer proof. +CP09 replaces historical CON-05B and follows ARCH-03C activation of the +CP08/ARCH-03B replacement path. ## Immediate next action CON-02C merged through PR #277. REV-04B may consume its shared lifecycle-audit -participant after REV's earlier gates merge. Binding creation remains deferred -to CON-04A after AUTH approves the exact adapter identity and capability -contract. Open pull requests determine transient CON work. +participant after REV's earlier gates merge. The first proposed policy-cutover +implementation is CP01 AUTH unavailable registration; no product behavior may +start until PLAN3 merges and CP01 receives a current-main executable contract. +Open pull requests determine transient CON work. diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-04A-hidden-adapter-binding-service.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-04A-hidden-adapter-binding-service.md index 6cb7039a4..eb8e2bde5 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-04A-hidden-adapter-binding-service.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-04A-hidden-adapter-binding-service.md @@ -1,5 +1,8 @@ # Chunk Contract: WS-CON-001-04A - Hidden Adapter-Binding Service +> Historical, superseded, and non-executable. PLAN3 replaces this broad +> contract with WS-ARCH-001-CP01 through CP03. Do not implement this file. + ## Goal and risk Implement authorization-ready binding create/read/suspend/resume domain behavior diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-04B-hidden-contribution-policy-service.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-04B-hidden-contribution-policy-service.md index 859ba61da..bb11af51b 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-04B-hidden-contribution-policy-service.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-04B-hidden-contribution-policy-service.md @@ -1,5 +1,8 @@ # Chunk Contract: WS-CON-001-04B - Hidden Contribution-Policy Service +> Historical, superseded, and non-executable. PLAN3 replaces this contract with +> WS-ARCH-001-CP04 and CP05. Do not implement this file. + ## Goal and risk Implement hidden read/draft/update/publish/retire ContributionPolicy behavior diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-05A-legacy-economic-terms-cutover-and-task-freeze.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-05A-legacy-economic-terms-cutover-and-task-freeze.md index ad8e324c7..0c69444ce 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-05A-legacy-economic-terms-cutover-and-task-freeze.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-05A-legacy-economic-terms-cutover-and-task-freeze.md @@ -1,5 +1,8 @@ # Chunk Contract: WS-CON-001-05A - Legacy Economic Terms Cutover And Task Freeze +> Historical, superseded, and non-executable. PLAN3 replaces this cross-owner +> contract with WS-ARCH-001-CP06 through CP09. Do not implement this file. + ## Goal Remove the retired guide-bound economic contract from every semantic consumer, diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-05B-legacy-economic-schema-removal.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-05B-legacy-economic-schema-removal.md index ceda6b622..78888f4a1 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-05B-legacy-economic-schema-removal.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-05B-legacy-economic-schema-removal.md @@ -1,5 +1,8 @@ # Chunk Contract: WS-CON-001-05B - Legacy Economic Schema Removal +> Historical, superseded, and non-executable. PLAN3 replaces this contract with +> WS-ARCH-001-CP09. Do not implement this file. + ## Goal and risk Delete the now-unreachable guide-bound economic model, tables, columns, diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-06-review-lease-contribution-policy-freeze.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-06-review-lease-contribution-policy-freeze.md index 0df69a8e3..1f00d9606 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-06-review-lease-contribution-policy-freeze.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-06-review-lease-contribution-policy-freeze.md @@ -10,8 +10,8 @@ review claim. ## Replacement contract -- `WS-CON-001-05A` owns the one upstream guide-activation validation port and - persistence contract. +- `WS-ARCH-001-CP06` owns the CON validation port; CP07 and CP08 own PROJECT/TASK + persistence foundations. - `WS-ARCH-001-03B` owns task readiness and assignment inheritance. - Submission creation stamps the assignment's attempt version and canonical `allow_review` preserves that immutable Submission lineage. diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-08A-outbound-compensation-delivery.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-08A-outbound-compensation-delivery.md index 0cadd2274..71e6a77d2 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-08A-outbound-compensation-delivery.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-08A-outbound-compensation-delivery.md @@ -8,8 +8,8 @@ outcome. L1 economic/external-service/auth risk. ## Prerequisites -- CON-03D delivery-receipt status persistence, CON-04A binding behavior, - CON-04B policy behavior, CON-07, and shared outbox dispatcher are merged; +- CON-03D delivery-receipt status persistence, ARCH-CP02 binding behavior, + ARCH-CP04 policy behavior, CON-07, and shared outbox dispatcher are merged; - exact outbound-delivery ServiceIdentity and ActionId/static row approved and registered as planned by AUTH, or an explicitly approved closed dual-principal design; diff --git a/docs/roadmap_status.md b/docs/roadmap_status.md index 4abf7782e..008259271 100644 --- a/docs/roadmap_status.md +++ b/docs/roadmap_status.md @@ -133,7 +133,9 @@ review. Their presence does not change the implemented-on-`main` list above. recovery, provider proof, and the later public cutover. Hidden durable admission, Submission creation, and final binding are already merged through WS-ARCH-001-02H. -2. Complete ContributionPolicy service behavior, bind one exact published, +2. Register exact ContributionPolicy authority while unavailable; implement + and separately activate adapter-binding and ContributionPolicy behavior; + expose CON validation; then bind one exact published, complete, binding-valid ContributionPolicyVersion at guide activation, and lock it on each task before that task becomes claimable. TaskAssignment inherits the task lock without a claim-time lookup, and each immutable From bc00597be2b0e305a95f1a5bf7fde560c0fb8668 Mon Sep 17 00:00:00 2001 From: Abiorh001 Date: Thu, 13 Aug 2026 18:06:28 +0100 Subject: [PATCH 02/11] docs(arch): resolve PLAN3 review blockers --- .agent-loop/CURRENT_STATE.md | 13 ++++++- .../PLAN.md | 7 +++- .../STATUS.md | 17 ++++++++ ...-ARCH-001-CP01-auth-policy-registration.md | 6 ++- ...ARCH-001-PLAN3-external-review-response.md | 39 +++++++++++++++++++ .../STATUS.md | 5 ++- .../WS-AUTH-001-12H-guide-activation.md | 9 +++-- .../CHUNK_MAP.md | 2 +- .../CONFORMANCE_MATRIX.md | 2 +- .../STATUS.md | 4 +- ...-001-04A-hidden-adapter-binding-service.md | 3 -- ...-04B-hidden-contribution-policy-service.md | 3 -- ...-economic-terms-cutover-and-task-freeze.md | 3 -- ...-001-05B-legacy-economic-schema-removal.md | 3 -- 14 files changed, 92 insertions(+), 24 deletions(-) create mode 100644 .agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/reviews/WS-ARCH-001-PLAN3-external-review-response.md diff --git a/.agent-loop/CURRENT_STATE.md b/.agent-loop/CURRENT_STATE.md index e48fb4dcb..bcd3e99f1 100644 --- a/.agent-loop/CURRENT_STATE.md +++ b/.agent-loop/CURRENT_STATE.md @@ -84,7 +84,7 @@ CP06 validation plus CP07/CP08 owner persistence are proposed before live task readiness. WS-CON-001-06 is a planned retirement. Submission stamps the assignment's exact attempt version, and ReviewLease inherits that immutable Submission version without a CON lookup. -CP09 is the proposed clean legacy economic-path removal after ARCH-03C activates +CP09 is the proposed clean legacy economic-path removal after WS-ARCH-001-03C activates the CP08/ARCH-03B replacement behavior. WS-REV-001-10 is planned after its named REV and CON prerequisites. Merged WS-CON-001-PLAN5 remains historical evidence for same-TaskAssignment @@ -98,3 +98,14 @@ AUTH unavailable registration, hidden CON binding/policy behavior, exact AUTH activations, CON validation, PROJECT guide binding, TASK attempt lineage, and clean v0.1 legacy economic-path removal in that order. Every child remains non-executable until PLAN3 merges and its current-main contract is expanded. + +- WS-ARCH-001-PLAN3 is proposed planning only. +- WS-ARCH-001-CP01 is proposed and non-executable. +- WS-ARCH-001-CP02 is proposed and non-executable. +- WS-ARCH-001-CP03 is proposed and non-executable. +- WS-ARCH-001-CP04 is proposed and non-executable. +- WS-ARCH-001-CP05 is proposed and non-executable. +- WS-ARCH-001-CP06 is proposed and non-executable. +- WS-ARCH-001-CP07 is proposed and non-executable. +- WS-ARCH-001-CP08 is proposed and non-executable. +- WS-ARCH-001-CP09 is proposed and non-executable after WS-ARCH-001-03C. diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/PLAN.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/PLAN.md index 87a994e18..59d6c3c9a 100644 --- a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/PLAN.md +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/PLAN.md @@ -129,7 +129,7 @@ POL-03B -> POL-04A -> AUTH-12B2 -> POL-04B -> POL-05A -> AUTH-12F4 -> POL-05B -> POL-06A -> AUTH-12G -> POL-06B --> POL-07 -> AUTH-12H +-> POL-07 + CP05 + CP06 + CP07 -> AUTH-12H ``` Each POL/AUTH chunk repairs only the public boundary and structural debt it @@ -139,6 +139,11 @@ and hashes. POL-08 physical cleanup follows the canonical `allow_review` milestone so it does not create a circular dependency on the Submission path; no live call may use the transitional inference paths in the interim. +AUTH-12H requires only active policy behavior, validation, and ProjectGuide +binding needed for guide activation. CP08, WS-ARCH-001-03A/03B/03C, and CP09 +are downstream; making final legacy removal a 12H prerequisite would create a +cycle through task activation. + ### Gate 1: current task, assignment and submitter-policy authority Parent 03 is split into 03A-03C. PROJECTS exposes current approved compilation diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/STATUS.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/STATUS.md index 7a5038069..334be7e80 100644 --- a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/STATUS.md +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/STATUS.md @@ -53,6 +53,23 @@ behavior must precede owner-separated guide/task lineage. CP01-CP09 are proposed non-executable skeletons until PLAN3 is reviewed and merged. +## Proposed PLAN3 children + +- WS-ARCH-001-PLAN3 is proposed planning only; runtime behavior is unchanged. +- WS-ARCH-001-CP01 is proposed: combined unavailable AUTH registration; it + must split before implementation unless current-main scope proof shows one + bounded shared catalogue/context change. +- WS-ARCH-001-CP02 is proposed: hidden adapter-binding behavior. +- WS-ARCH-001-CP03 is proposed: exact adapter-binding activation. +- WS-ARCH-001-CP04 is proposed: hidden ContributionPolicy behavior. +- WS-ARCH-001-CP05 is proposed: exact ContributionPolicy activation. +- WS-ARCH-001-CP06 is proposed: CON policy-validation port. +- WS-ARCH-001-CP07 is proposed: PROJECT guide binding. +- WS-ARCH-001-CP08 is proposed: TASK/Assignment/Submission lineage persistence + and public facts only. +- WS-ARCH-001-CP09 is proposed: clean legacy economic-path removal after + WS-ARCH-001-03C activates the replacement. + ## Planned PLAN2 children - WS-ARCH-001-03A is planned. diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP01-auth-policy-registration.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP01-auth-policy-registration.md index 5d208db2f..fa3db92f0 100644 --- a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP01-auth-policy-registration.md +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP01-auth-policy-registration.md @@ -10,7 +10,11 @@ TASK, and REV authority are excluded. Before implementation, replace this skeleton with a current-main contract that names exact AUTH public types, catalogue rows, tests, allowed files, and -reviewers. No CON implementation or activation belongs here. +reviewers. The pre-start review must either split binding registration from +policy registration or prove the combined unavailable-only change is bounded: +one shared catalogue/context seam, no evaluator/activation/service identity, +reviewable diff size, and independent parity tests for each action family. No +CON implementation or activation belongs here. ## Merge state diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/reviews/WS-ARCH-001-PLAN3-external-review-response.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/reviews/WS-ARCH-001-PLAN3-external-review-response.md new file mode 100644 index 000000000..890517960 --- /dev/null +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/reviews/WS-ARCH-001-PLAN3-external-review-response.md @@ -0,0 +1,39 @@ +# WS-ARCH-001 PLAN3 External Review Response + +## Comments addressed + +- Added explicit STATUS projection for CP01 through CP09 so atomic chunk-state + validation can reconcile every CHUNK_MAP identifier. +- Removed the AUTH-12H cycle. AUTH-12H depends on POL-07, CP05 active policy + behavior, CP06 validation, and CP07 ProjectGuide binding only. CP08, + WS-ARCH-001-03A/03B/03C, and CP09 are downstream. +- Qualified every ambiguous PLAN3 `03C activation` reference as + `WS-ARCH-001-03C` where CON also owns a distinct 03C. +- CP01 remains a planning skeleton only. Its pre-start contract must split the + two registration families or prove one bounded unavailable-only shared + catalogue/context change with independent parity tests. + +## Comments deferred + +None. + +## Human decisions needed + +None beyond normal approval of the corrected planning PR. + +## Commands rerun + +```text +python3 scripts/check_markdown_links.py +python3 scripts/check_stale_workstream_wording.py +python3 scripts/check_stale_authorization_docs.py +python3 scripts/check_stale_artifact_contracts.py +python3 scripts/check_stale_review_contracts.py +python3 scripts/check_chunk_state_sync.py --base-ref 020763ab5b8a81c9ef37fe9e7ef23f68a281f290 +git diff --check +``` + +## Remaining risks + +CP01 boundedness is intentionally a mandatory pre-start decision. No runtime +implementation is authorized by PLAN3. diff --git a/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/STATUS.md b/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/STATUS.md index 11c9987e3..e1f19fe09 100644 --- a/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/STATUS.md +++ b/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/STATUS.md @@ -32,8 +32,9 @@ not current start requirements. pre-submit policy; it performs no inference. - AUTH-12G follows hidden POL-06A and activates deterministic stored post-submit projection authority. -- AUTH-12H follows the complete POL-06B/07 and required CON clean cut, and - activates only a complete approved unified guide lineage. +- AUTH-12H follows complete POL-06B/07 plus CP05 active ContributionPolicy + behavior, CP06 validation, and CP07 ProjectGuide binding. It does not depend + on CP08, WS-ARCH-001-03A/03B/03C, or CP09 final legacy removal. - AUTH-13 through AUTH-16 remain future task, submission/checker, cleanup, and conformance boundaries. Each must be split against then-current product behavior before implementation. diff --git a/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-12H-guide-activation.md b/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-12H-guide-activation.md index 8e3eafd07..765b76ea1 100644 --- a/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-12H-guide-activation.md +++ b/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-12H-guide-activation.md @@ -1,7 +1,8 @@ # Chunk Contract: WS-AUTH-001-12H - Unified Guide Activation Cutover -Status: Proposed after POL-07, corrected 12B2, and the owning CON clean cut; -inactive. Risk: L1. +Status: Proposed after POL-07, corrected 12B2, CP05 active policy behavior, +CP06 validation, and CP07 ProjectGuide binding; inactive. Risk: L1. CP08, +WS-ARCH-001-03A/03B/03C, and CP09 are downstream, not prerequisites. ## Goal @@ -31,7 +32,9 @@ chain compatibility, or issuer-role fallback. - Final PREP binds the complete chain plus actor/link/grant, action, operation, request/idempotency, session, and transaction. POL/project code owns product locks and the one activation commit. -- Retired guide-bound economic policy is absent after the owning CON clean cut. +- Guide activation binds the exact CP06-validated ContributionPolicyVersion + through CP07. Final retired economic-path removal is downstream CP09 and is + not an activation prerequisite; no activation call may read that path. - The merged POL-07 single checker port proves both compiled pre-submit and post-submit components are executable through the sole approved commands; activation cannot precede that proof. diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CHUNK_MAP.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CHUNK_MAP.md index 11b9b0a24..364f69c6d 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CHUNK_MAP.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CHUNK_MAP.md @@ -61,7 +61,7 @@ PLAN4 REV-04B + 03B -> 03C -> 03D CP01 -> CP02 -> CP03 -> CP04 -> CP05 -> CP06 -> CP07 -> CP08 -CP08 -> WS-ARCH-001-03A/03B replacement behavior -> 03C activation -> CP09 +CP08 -> WS-ARCH-001-03A/03B replacement behavior -> WS-ARCH-001-03C activation -> CP09 task-locked policy lineage -> assignment -> Submission-stamped attempt lineage -> allow_review -> ReviewLease REV revision lineage + 03C/03D + CP06/CP08 -> 07 -> REV-10 first Review commit diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CONFORMANCE_MATRIX.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CONFORMANCE_MATRIX.md index c7d7a02ad..28a3ed64e 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CONFORMANCE_MATRIX.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CONFORMANCE_MATRIX.md @@ -4,7 +4,7 @@ |---|---|---|---| | Canonical policy model | 01,03B,CP04/CP05 | ContributionPolicy/version/rules/definitions; explicit unpaid; immutable publish; one active policy; NUMERIC(38,18) decimal-string bounds; ISO 4217 money units; project-scoped points units; stable binding references | CON-11 | | Adapter binding | 03A,CP02/CP03,10B | one active binding per project/instrument; policy definitions and awards reference a binding with matching project/instrument identity while the binding stores no policy/award identifiers; non-secret route; suspend/resume and existing-award callback/replay behavior; retirement refuses active policy, unfinished frozen work, or unfulfilled award dependencies | CON-11 + joint live drill | -| Legacy clean cut | CP09 after ARCH-03C activation | zero semantic consumers before schema removal; clean current-baseline parity; no alias/fallback/backfill | CON-11 | +| Legacy clean cut | CP09 after WS-ARCH-001-03C activation | zero semantic consumers before schema removal; clean current-baseline parity; no alias/fallback/backfill | CON-11 | | Authorization | AUTH + each feature | current AUTH actor/grant/fixed-service/PREP and REV-readiness foundations, with current repository migrations through ART-owned `0050`; provisioning grants no service execution; CON mappings, identities, and static rows are absent on current main; every future artifact requires exact AUTH-owned registration and activation evidence, exact grant/static row, fixed-service admission, prepared handle bound to session/action/actor-ref/idempotency/request digest with substitution non-consumption, planned denial, and no local role logic | AUTH activation + CON-11 | | Final acceptance | REV + 03C,07 | accept creates one immutable FinalAcceptance per task/Review/Submission; needs_revision/reject create none; no create API/action, reopen, replacement, or adjudication path | joint live drill | | Contribution cardinality | 03C,07 + REV | one completed_review per valid Review with direct Review/lease lineage; one accepted_submission per FinalAcceptance with assignment lineage; mutually exclusive sources; revision Reviews distinct; automated outcomes create none | joint live drill | diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/STATUS.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/STATUS.md index 378b87a52..9745a742a 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/STATUS.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/STATUS.md @@ -53,7 +53,7 @@ schema work. Current dependency analysis yields: 6. CP01-CP05 register, implement, and activate binding/policy behavior in exact pairs. 7. CP06 validation, CP07 guide binding, and CP08 task-attempt persistence - precede ARCH-03A/03B replacement behavior and ARCH-03C activation; CP09 then + precede ARCH-03A/03B replacement behavior and WS-ARCH-001-03C activation; CP09 then removes the retired path. 8. Contribution/award persistence follows stable REV Review, ReviewLease and FinalAcceptance FK targets, but precedes live review decisions. @@ -101,7 +101,7 @@ CP06 validation plus CP07/CP08 owner persistence replace former CON-05A as the prerequisite for task readiness. WS-CON-001-06 is a planned retirement; ReviewLease copies the admitted Submission's immutable attempt version and verifies upstream Task/Assignment equality only. -CP09 replaces historical CON-05B and follows ARCH-03C activation of the +CP09 replaces historical CON-05B and follows WS-ARCH-001-03C activation of the CP08/ARCH-03B replacement path. ## Immediate next action diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-04A-hidden-adapter-binding-service.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-04A-hidden-adapter-binding-service.md index eb8e2bde5..6cb7039a4 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-04A-hidden-adapter-binding-service.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-04A-hidden-adapter-binding-service.md @@ -1,8 +1,5 @@ # Chunk Contract: WS-CON-001-04A - Hidden Adapter-Binding Service -> Historical, superseded, and non-executable. PLAN3 replaces this broad -> contract with WS-ARCH-001-CP01 through CP03. Do not implement this file. - ## Goal and risk Implement authorization-ready binding create/read/suspend/resume domain behavior diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-04B-hidden-contribution-policy-service.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-04B-hidden-contribution-policy-service.md index bb11af51b..859ba61da 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-04B-hidden-contribution-policy-service.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-04B-hidden-contribution-policy-service.md @@ -1,8 +1,5 @@ # Chunk Contract: WS-CON-001-04B - Hidden Contribution-Policy Service -> Historical, superseded, and non-executable. PLAN3 replaces this contract with -> WS-ARCH-001-CP04 and CP05. Do not implement this file. - ## Goal and risk Implement hidden read/draft/update/publish/retire ContributionPolicy behavior diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-05A-legacy-economic-terms-cutover-and-task-freeze.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-05A-legacy-economic-terms-cutover-and-task-freeze.md index 0c69444ce..ad8e324c7 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-05A-legacy-economic-terms-cutover-and-task-freeze.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-05A-legacy-economic-terms-cutover-and-task-freeze.md @@ -1,8 +1,5 @@ # Chunk Contract: WS-CON-001-05A - Legacy Economic Terms Cutover And Task Freeze -> Historical, superseded, and non-executable. PLAN3 replaces this cross-owner -> contract with WS-ARCH-001-CP06 through CP09. Do not implement this file. - ## Goal Remove the retired guide-bound economic contract from every semantic consumer, diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-05B-legacy-economic-schema-removal.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-05B-legacy-economic-schema-removal.md index 78888f4a1..ceda6b622 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-05B-legacy-economic-schema-removal.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-05B-legacy-economic-schema-removal.md @@ -1,8 +1,5 @@ # Chunk Contract: WS-CON-001-05B - Legacy Economic Schema Removal -> Historical, superseded, and non-executable. PLAN3 replaces this contract with -> WS-ARCH-001-CP09. Do not implement this file. - ## Goal and risk Delete the now-unreachable guide-bound economic model, tables, columns, From 93e549e40c54c2d96d6f500373d675424bded9d3 Mon Sep 17 00:00:00 2001 From: Abiorh001 Date: Thu, 13 Aug 2026 18:06:56 +0100 Subject: [PATCH 03/11] docs(auth): preserve historical 12H contract --- .../chunks/WS-AUTH-001-12H-guide-activation.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-12H-guide-activation.md b/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-12H-guide-activation.md index 765b76ea1..8e3eafd07 100644 --- a/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-12H-guide-activation.md +++ b/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-12H-guide-activation.md @@ -1,8 +1,7 @@ # Chunk Contract: WS-AUTH-001-12H - Unified Guide Activation Cutover -Status: Proposed after POL-07, corrected 12B2, CP05 active policy behavior, -CP06 validation, and CP07 ProjectGuide binding; inactive. Risk: L1. CP08, -WS-ARCH-001-03A/03B/03C, and CP09 are downstream, not prerequisites. +Status: Proposed after POL-07, corrected 12B2, and the owning CON clean cut; +inactive. Risk: L1. ## Goal @@ -32,9 +31,7 @@ chain compatibility, or issuer-role fallback. - Final PREP binds the complete chain plus actor/link/grant, action, operation, request/idempotency, session, and transaction. POL/project code owns product locks and the one activation commit. -- Guide activation binds the exact CP06-validated ContributionPolicyVersion - through CP07. Final retired economic-path removal is downstream CP09 and is - not an activation prerequisite; no activation call may read that path. +- Retired guide-bound economic policy is absent after the owning CON clean cut. - The merged POL-07 single checker port proves both compiled pre-submit and post-submit components are executable through the sole approved commands; activation cannot precede that proof. From 19aacffccd899c2d4ec85667dff4a2311366fdf3 Mon Sep 17 00:00:00 2001 From: Abiorh001 Date: Thu, 13 Aug 2026 18:07:58 +0100 Subject: [PATCH 04/11] docs(con): preserve historical chunk contracts --- .../WS-CON-001-06-review-lease-contribution-policy-freeze.md | 4 ++-- .../chunks/WS-CON-001-08A-outbound-compensation-delivery.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-06-review-lease-contribution-policy-freeze.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-06-review-lease-contribution-policy-freeze.md index 1f00d9606..0df69a8e3 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-06-review-lease-contribution-policy-freeze.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-06-review-lease-contribution-policy-freeze.md @@ -10,8 +10,8 @@ review claim. ## Replacement contract -- `WS-ARCH-001-CP06` owns the CON validation port; CP07 and CP08 own PROJECT/TASK - persistence foundations. +- `WS-CON-001-05A` owns the one upstream guide-activation validation port and + persistence contract. - `WS-ARCH-001-03B` owns task readiness and assignment inheritance. - Submission creation stamps the assignment's attempt version and canonical `allow_review` preserves that immutable Submission lineage. diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-08A-outbound-compensation-delivery.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-08A-outbound-compensation-delivery.md index 71e6a77d2..0cadd2274 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-08A-outbound-compensation-delivery.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/chunks/WS-CON-001-08A-outbound-compensation-delivery.md @@ -8,8 +8,8 @@ outcome. L1 economic/external-service/auth risk. ## Prerequisites -- CON-03D delivery-receipt status persistence, ARCH-CP02 binding behavior, - ARCH-CP04 policy behavior, CON-07, and shared outbox dispatcher are merged; +- CON-03D delivery-receipt status persistence, CON-04A binding behavior, + CON-04B policy behavior, CON-07, and shared outbox dispatcher are merged; - exact outbound-delivery ServiceIdentity and ActionId/static row approved and registered as planned by AUTH, or an explicitly approved closed dual-principal design; From 5f6fb4093b4efdb6c2ccbffec21b4422832c495a Mon Sep 17 00:00:00 2001 From: Abiorh001 Date: Thu, 13 Aug 2026 18:12:42 +0100 Subject: [PATCH 05/11] docs(con): retire stale downstream contracts --- .agent-loop/CURRENT_STATE.md | 4 ++++ .../CHUNK_MAP.md | 4 ++-- .../CONFORMANCE_MATRIX.md | 2 +- .../WS-CON-001-contribution-compensation-boundary/STATUS.md | 5 +++++ 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/.agent-loop/CURRENT_STATE.md b/.agent-loop/CURRENT_STATE.md index bcd3e99f1..05500dc26 100644 --- a/.agent-loop/CURRENT_STATE.md +++ b/.agent-loop/CURRENT_STATE.md @@ -109,3 +109,7 @@ non-executable until PLAN3 merges and its current-main contract is expanded. - WS-ARCH-001-CP07 is proposed and non-executable. - WS-ARCH-001-CP08 is proposed and non-executable. - WS-ARCH-001-CP09 is proposed and non-executable after WS-ARCH-001-03C. + +Retained WS-CON-001-06 and WS-CON-001-08A chunk files are historical, +non-executable evidence. CP06/CP07/CP08 replace CON-06's old dependency; future +delivery needs a fresh contract against CP02/CP04 rather than old CON-04A/04B. diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CHUNK_MAP.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CHUNK_MAP.md index 364f69c6d..a7a93e43d 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CHUNK_MAP.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CHUNK_MAP.md @@ -32,12 +32,12 @@ signed-loop records do not make behavior live. | `04B` | Historical hidden contribution-policy contract | 03B + binding activation + exact AUTH registration/PREP contract | Superseded by ARCH CP04-CP05 | | `WS-CON-001-05A` | Historical broad semantic cutover/validation/schema contract | unavailable behavior and cross-owner schema assumptions | Superseded by CP06 validation, CP07 PROJECT binding, CP08 TASK lineage, and CP09 removal | | `WS-CON-001-05B` | Historical legacy economic schema removal | former 05A | Superseded by clean v0.1 CP09 without compatibility/backfill | -| `WS-CON-001-06` | Retire former reviewer claim-time policy lookup | Replaced by guide -> task -> assignment -> Submission -> ReviewLease inheritance | Planned retirement; no implementation | +| `WS-CON-001-06` | Historical retirement contract for former reviewer claim-time policy lookup | Replaced by CP06 validation + CP07/CP08 persistence -> Submission -> ReviewLease inheritance | Superseded/non-executable retained evidence; do not follow its old 05A reference | | `03C` | ContributionRecord/CompensationAward persistence | 03B + merged REV Review/ReviewLease/FinalAcceptance targets | Proposed after REV-04B and mandatory before live REV decisions | | `03D` | Delivery/receipt/status persistence | 03C | Proposed | | `07` | Atomic flush-only review contribution/award participant | 03C/03D + CP06/CP08 + stable REV revision lineage | Proposed; mandatory before REV-10/first Review commit | | `02B` | Generic outbox dispatcher/recovery | AUTH dispatcher identity/action/matrix/context/PREP registration | Blocked on AUTH; required later, not before 03A/03B | -| `08A` | Outbound compensation delivery | 03D + 07 + 02B + CP02/CP04 + independent delivery authority | Proposed | +| `08A` | Historical outbound compensation delivery contract | old CON-04A/04B prerequisites are superseded | Non-executable retained evidence; requires a fresh current-main replacement after 03D + 07 + 02B + CP02/CP04 + independent delivery authority | | `08R` | Bound callback rate control | 08A | Proposed | | `08B` | Inbound fulfillment callback | 08R + independent callback authority/fence | Proposed | | `10A` | Contribution/award product reads | 08B + exact AUTH read contracts | Proposed | diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CONFORMANCE_MATRIX.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CONFORMANCE_MATRIX.md index 28a3ed64e..a9c602455 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CONFORMANCE_MATRIX.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CONFORMANCE_MATRIX.md @@ -14,7 +14,7 @@ | Outbox isolation | 02A,02B | stable event/task IDs; claim fencing; retry/dead-letter/replay; dispatcher cannot inherit feature authority; handler returns typed outcome | CON-11 | | Shared lifecycle audit | 02C,07 + REV | caller-session append/flush only; no participant commit; decision/CON staging order; complete rollback; bounded canonical facts and redaction; no raw provider payload/header/message/secret persistence or export | REV-10 + CON-11 | | External adapter convention | 08A | typed capability extends ExternalServiceAdapter; typed factory and explicit composition registration; no concrete import, plugin discovery, service locator, fallback constructor, or provider policy ownership | joint live drill | -| Delivery and callback | 03D,08A,08R,08B | exact feature service authority; NUMERIC(38,18) exact-quantity equality; bounded binding-scoped event/reference tokens; closed failure codes; raw provider data rejected; no I/O under locks; callback/binding/award match; replay and callback-before-ack; immutable receipts | joint live drill | +| Delivery and callback | 03D plus fresh replacements for historical 08A/08R/08B | exact feature service authority; CP02/CP04 behavior; NUMERIC(38,18) exact-quantity equality; bounded binding-scoped event/reference tokens; closed failure codes; raw provider data rejected; no I/O under locks; callback/binding/award match; replay and callback-before-ack; immutable receipts | joint live drill | | Product reads | 10A | PostgreSQL contribution/award truth; D11 exact role sets; stable pagination/concealment; no ART/provider data | AUTH activation + joint drill | | Operations requests and observation | 10B | bounded durable requests; AdminRole and prepared-protocol proof; audit redaction and no raw provider body/header/message/secret exposure; same-session outbox/fulfillment counts plus maximum immutable root ordinal; no executor authority | REV-12A + joint drill | | Operations executors | 10C | exact independent fixed-service authority; dispatcher/cross-executor denial; retry/replay/finding proof; projection-only rebuild mutation; immutable contribution/award/receipt truth | AUTH activation + joint drill | diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/STATUS.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/STATUS.md index 9745a742a..1872fcd2b 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/STATUS.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/STATUS.md @@ -84,6 +84,11 @@ historical-row backfill or compatibility behavior. - CP06-CP09: validation, owner schema lineage, and clean legacy removal wait for the preceding public behavior. No historical-row classification is required unless current-main discovery proves real deployed data exists. +- The retained CON-06 contract is superseded/non-executable historical evidence; + CP06/CP07/CP08 are its only current replacement path. +- The retained CON-08A contract is non-executable because it names superseded + CON-04A/04B prerequisites. Delivery requires a fresh current-main contract + against CP02/CP04 and its other exact gates. - CON-03C: REV Review and FinalAcceptance tables are not implemented. - CON-07: the corresponding REV decision caller contract is future. CON-06 is a planned retirement with no runtime dependency. From ab99b3a8822c8a70f8e95f5cf6b8009dd77b715a Mon Sep 17 00:00:00 2001 From: Abiorh001 Date: Thu, 13 Aug 2026 18:14:15 +0100 Subject: [PATCH 06/11] docs(con): require fresh delivery contract --- .../WS-CON-001-contribution-compensation-boundary/CHUNK_MAP.md | 2 +- .../RUNTIME_VERIFICATION.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CHUNK_MAP.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CHUNK_MAP.md index a7a93e43d..152d78230 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CHUNK_MAP.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CHUNK_MAP.md @@ -66,7 +66,7 @@ task-locked policy lineage -> assignment -> Submission-stamped attempt lineage - REV revision lineage + 03C/03D + CP06/CP08 -> 07 -> REV-10 first Review commit AUTH dispatcher registration -> 02B -03D + 07 + 02B + CP02/CP04 -> 08A -> 08R -> 08B -> 10A -> 10B -> 10C -> 11 +03D + 07 + 02B + CP02/CP04 -> fresh delivery replacement -> 08R -> 08B -> 10A -> 10B -> 10C -> 11 ``` ART-03C is merged baseline evidence. Remaining ART submission/reviewer custody diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/RUNTIME_VERIFICATION.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/RUNTIME_VERIFICATION.md index 74b752f09..c050bbeba 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/RUNTIME_VERIFICATION.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/RUNTIME_VERIFICATION.md @@ -34,7 +34,7 @@ git diff --check | Historical CON-04A/04B/05A/05B | Superseded/non-executable | Use PLAN3 CP01-CP09 and each future current-main contract; do not execute retained historical rows | | ARCH-CP01 through CP09 | Defined only by separately approved current-main contracts | Do not execute from this table alone | | CON-07 | `app/modules/contributions/*`; `app/modules/compensation/*` | `app/modules/contributions app/modules/compensation tests/test_contributions.py tests/test_compensation.py tests/test_authorization.py tests/test_outbox.py` | -| CON-08A | `app/modules/compensation/*`; `app/workers/compensation.py`; `app/interfaces/compensation.py`; `app/adapters/compensation/*` | `app/interfaces/compensation.py app/adapters/compensation app/modules/compensation app/modules/outbox/handlers.py app/workers/compensation.py app/workers/celery_app.py app/composition/compensation.py tests/test_compensation.py tests/test_outbox.py tests/test_external_service_adapters.py` | +| Historical CON-08A | Superseded/non-executable | Fresh delivery replacement must define current targets after CP02/CP04 and all other gates; do not execute this retained row | | CON-08R | `app/modules/api_controls/*`; `app/api/deps/api_controls.py`; `app/core/config.py` | `app/modules/api_controls app/api/deps/api_controls.py app/core/config.py tests/test_api_rate_controls.py tests/test_config.py tests/test_alembic.py alembic/versions/.py` | | CON-08B | `app/modules/compensation/*` | `app/modules/compensation app/api/internal_compensation.py app/composition/compensation.py tests/test_compensation.py tests/test_authorization.py tests/test_api_controls.py tests/test_api_rate_controls.py tests/test_api_contract_e2e.py` | | CON-09A (optional) | Defined only by a separately approved refreshed contract | Do not execute from this table alone | From bb5adb2c162797caadaf192297eb36f909cad945 Mon Sep 17 00:00:00 2001 From: Abiorh001 Date: Thu, 13 Aug 2026 18:27:39 +0100 Subject: [PATCH 07/11] docs(arch): address PLAN3 review findings --- .../CHUNK_MAP.md | 2 +- ...S-ARCH-001-CP07-project-guide-policy-binding.md | 5 +++++ .../WS-ARCH-001-PLAN3-external-review-response.md | 14 +++++++++++++- .../CHUNK_MAP.md | 5 +++++ .../CONFORMANCE_MATRIX.md | 2 +- .../JOINT_RELEASE_HANDOFF.md | 7 +++++-- docs/roadmap_status.md | 3 +++ 7 files changed, 33 insertions(+), 5 deletions(-) diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/CHUNK_MAP.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/CHUNK_MAP.md index 4ce0b56d7..ae022abe0 100644 --- a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/CHUNK_MAP.md +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/CHUNK_MAP.md @@ -26,7 +26,7 @@ | `WS-ARCH-001-CP08` | TASK/Assignment/Submission policy-lineage schema and public facts | L1 | Proposed foundation after CP07; no commands | | `WS-ARCH-001-CP09` | Clean retired guide-bound economic path removal | L1 | Proposed after ARCH-03C activates the replacement; split if discovery requires | | `WS-ARCH-001-03` | PROJECT/TASK readiness coordination parent | L1 | Split; non-executable parent | -| `WS-ARCH-001-03A` | PROJECT current approved unified-generation public facts | L1 | Planned after AUTH-12H and CP07; may reuse CP07 public guide fact but cannot duplicate its write | +| `WS-ARCH-001-03A` | PROJECT current approved unified-generation public facts | L1 | Planned after AUTH-12H, CP07, and CP08; may reuse CP07 public guide fact but cannot duplicate its write | | `WS-ARCH-001-03B` | TASK readiness, claim, assignment and locked-context public commands/facts | L1 | Sole behavior owner after 03A and CP08; consumes CP08 fields/facts to write Task -> Assignment -> Submission lineage | | `WS-ARCH-001-03C` | AUTH-13 task/assignment activation and integrated readiness proof | L1 | Planned after 03A/03B and CP08; activates replacement before CP09 removes the retired path | | `WS-ARCH-001-04` | Canonical post-submit checker coordination parent | L1 | Split; non-executable parent | diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP07-project-guide-policy-binding.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP07-project-guide-policy-binding.md index 5f7288376..35bbc33c8 100644 --- a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP07-project-guide-policy-binding.md +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/chunks/WS-ARCH-001-CP07-project-guide-policy-binding.md @@ -8,6 +8,11 @@ validation capability and persist the returned exact version as non-null single transaction; it imports no CON models/repositories and performs no policy selection itself. +The covered Project Manager invokes `project.guide_sufficiency.run` through +the public HTTP route. The fixed `workstream.project.setup` service resolves +the same action only through the internal command boundary and must never call +or depend on that public route. + This chunk reconciles the current v0.1 baseline schema for ProjectGuide only. TASK/Assignment/Submission fields and legacy economic-path removal remain later. diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/reviews/WS-ARCH-001-PLAN3-external-review-response.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/reviews/WS-ARCH-001-PLAN3-external-review-response.md index 890517960..08ec61659 100644 --- a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/reviews/WS-ARCH-001-PLAN3-external-review-response.md +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/reviews/WS-ARCH-001-PLAN3-external-review-response.md @@ -12,10 +12,22 @@ - CP01 remains a planning skeleton only. Its pre-start contract must split the two registration families or prove one bounded unavailable-only shared catalogue/context change with independent parity tests. +- Aligned the canonical CP07 -> CP08 -> WS-ARCH-001-03A dependency in the + initiative map and made AUTH's projection defer to that owner sequence. +- Named all four immutable policy-lineage fields in the CON conformance proof + and restored the complete CP01-CP08 -> ARCH-03A/03B/03C release chain. +- Recorded the replacement activation and CP09 clean-removal gate in the + capability ledger. +- Distinguished the covered Project Manager HTTP entry from the fixed project + setup service's internal command resolution in CP07. ## Comments deferred -None. +- CodeRabbit comments against historical CON 04A/04B/05A/05B/08A bodies were + not applied. Those merged chunk contracts are immutable historical evidence; + active CHUNK_MAP/STATUS/runtime records already mark them non-executable and + point to the current CP replacements. Editing their landed contract bodies + would violate the repository's atomic chunk-state history gate. ## Human decisions needed diff --git a/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/CHUNK_MAP.md b/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/CHUNK_MAP.md index 1d0c7e08b..fd45ec3cf 100644 --- a/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/CHUNK_MAP.md +++ b/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/CHUNK_MAP.md @@ -17,6 +17,11 @@ may proceed concurrently; open pull requests show transient ownership. ## Chunks +`WS-ARCH-001/CHUNK_MAP.md` owns the ordered cross-module sequence +`WS-ARCH-001-CP01 -> CP02 -> CP03 -> CP04 -> CP05`; the AUTH entries below +project only AUTH-owned registration and activation responsibilities from that +sequence. + | Chunk | Title | Risk | Status | |---|---|---:|---| | `WS-ARCH-001-CP01` | Adapter-binding and ContributionPolicy unavailable registration | L1 | Proposed by PLAN3; excludes callback/fulfillment and all activation | diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CONFORMANCE_MATRIX.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CONFORMANCE_MATRIX.md index a9c602455..6b6b6fc17 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CONFORMANCE_MATRIX.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/CONFORMANCE_MATRIX.md @@ -8,7 +8,7 @@ | Authorization | AUTH + each feature | current AUTH actor/grant/fixed-service/PREP and REV-readiness foundations, with current repository migrations through ART-owned `0050`; provisioning grants no service execution; CON mappings, identities, and static rows are absent on current main; every future artifact requires exact AUTH-owned registration and activation evidence, exact grant/static row, fixed-service admission, prepared handle bound to session/action/actor-ref/idempotency/request digest with substitution non-consumption, planned denial, and no local role logic | AUTH activation + CON-11 | | Final acceptance | REV + 03C,07 | accept creates one immutable FinalAcceptance per task/Review/Submission; needs_revision/reject create none; no create API/action, reopen, replacement, or adjudication path | joint live drill | | Contribution cardinality | 03C,07 + REV | one completed_review per valid Review with direct Review/lease lineage; one accepted_submission per FinalAcceptance with assignment lineage; mutually exclusive sources; revision Reviews distinct; automated outcomes create none | joint live drill | -| Policy lock and human revision rebase | CP06-CP08, ARCH-03B,07 + PROJECT/TASK/REV | one guide-bound version; exact task/assignment/Submission/lease fields; no claim-time lookup or publication-time drift; human needs_revision keeps/rebases/blocks the complete next-task context atomically and preserves completed history | joint live drill | +| Policy lock and human revision rebase | CP06-CP08, ARCH-03B,07 + PROJECT/TASK/REV | one guide-bound version; exact `WorkstreamTask.locked_contribution_policy_version_id`, `TaskAssignment.submitter_contribution_policy_version_id`, `Submission.contribution_policy_version_id`, and `ReviewLease.reviewer_contribution_policy_version_id` lineage; no claim-time lookup or publication-time drift; human needs_revision keeps/rebases/blocks the complete next-task context atomically and preserves completed history | joint live drill | | Award evaluation | 03C,07 | matching frozen ContributionRule; unpaid creates none; at most one money/points; exact NUMERIC(38,18) definition copy; ISO 4217/project-scoped unit equality; no float, conversion, or rounding; replay stable | joint live drill | | Atomic REV/CON | 07 + REV | reviewer operation before branch; accept-only submitter operation after FinalAcceptance/accepted effects; stabilized digest; REV stages audit/outbox; CON flushes contributions/awards; zero ART calls; complete rollback | REV-10 + joint live drill | | Outbox isolation | 02A,02B | stable event/task IDs; claim fencing; retry/dead-letter/replay; dispatcher cannot inherit feature authority; handler returns typed outcome | CON-11 | diff --git a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/JOINT_RELEASE_HANDOFF.md b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/JOINT_RELEASE_HANDOFF.md index 13940631b..3b81412c9 100644 --- a/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/JOINT_RELEASE_HANDOFF.md +++ b/.agent-loop/initiatives/WS-CON-001-contribution-compensation-boundary/JOINT_RELEASE_HANDOFF.md @@ -39,10 +39,13 @@ CON 02C lifecycle audit participant -> CON 03C ContributionRecord/CompensationAward persistence -> CON 03D delivery/receipt/status and ordinal persistence -REV lease schema/caller facts + ARCH-CP04/CP05 policy service and activation +REV lease schema/caller facts + WS-ARCH-001-CP01 through CP05 registration, +behavior, and activation +-> WS-ARCH-001-CP06 validation -> CP07 guide binding -> CP08 attempt persistence +-> WS-ARCH-001-03A/03B replacement behavior -> WS-ARCH-001-03C activation -> task-locked policy lineage carried through admission; no CON claim-time lookup -stable REV revision lineage + CON 03C/03D + ARCH-CP06/CP08 +stable REV revision lineage + CON 03C/03D + WS-ARCH-001-CP06/CP08 -> CON 07 mandatory review-decision participant -> REV 10 hidden contribution composition diff --git a/docs/roadmap_status.md b/docs/roadmap_status.md index 008259271..69497976a 100644 --- a/docs/roadmap_status.md +++ b/docs/roadmap_status.md @@ -140,6 +140,9 @@ review. Their presence does not change the implemented-on-`main` list above. lock it on each task before that task becomes claimable. TaskAssignment inherits the task lock without a claim-time lookup, and each immutable Submission stamps the exact version governing that attempt. + Complete `WS-ARCH-001-03A` through `WS-ARCH-001-03C` to activate the sole + replacement task/assignment path, then run `WS-ARCH-001-CP09` to remove the + retired guide-bound economic path only after that replacement is live. 3. Continue independent REV schema and packet-contract foundations. After canonical `allow_review`, activate admission and claim only when ReviewLease copies the exact ContributionPolicyVersion stamped on the admitted From 010db91d8a40dc1970882b6952c153ef0fcadf2d Mon Sep 17 00:00:00 2001 From: Abiorh001 Date: Thu, 13 Aug 2026 18:38:00 +0100 Subject: [PATCH 08/11] docs(auth): remove guide activation dependency cycle --- .../WS-ARCH-001-PLAN3-external-review-response.md | 4 ++++ .../WS-AUTH-001-12-project-mutation-cutover.md | 8 +++++--- .../chunks/WS-AUTH-001-12H-guide-activation.md | 12 +++++++++--- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/reviews/WS-ARCH-001-PLAN3-external-review-response.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/reviews/WS-ARCH-001-PLAN3-external-review-response.md index 08ec61659..f772f4f21 100644 --- a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/reviews/WS-ARCH-001-PLAN3-external-review-response.md +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/reviews/WS-ARCH-001-PLAN3-external-review-response.md @@ -20,6 +20,10 @@ capability ledger. - Distinguished the covered Project Manager HTTP entry from the fixed project setup service's internal command resolution in CP07. +- Corrected the two still-proposed AUTH-12/12H contracts so guide activation + depends on POL-07, corrected 12B2, CP05, CP06, and CP07 only. Their retired + economic fields confer no authority; CP08, ARCH-03A/03B/03C, and CP09 remain + downstream, removing the last documented cycle. ## Comments deferred diff --git a/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-12-project-mutation-cutover.md b/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-12-project-mutation-cutover.md index 47391ead0..4c28d25f0 100644 --- a/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-12-project-mutation-cutover.md +++ b/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-12-project-mutation-cutover.md @@ -96,9 +96,11 @@ Superseded for all remaining work by D38 and `CHUNK_MAP.md`. changing checker execution, visibility, or `WS-POL-002-03` behavior. 9. 12B2 activates setup-run ledger authority and cuts both Celery entry points only after 12E/12F4/12G have activated the exact product actions they call. -10. 12H cuts over guide activation after every prerequisite family is local - and the owning CON clean cut has removed the retired economic-policy - dependency. +10. 12H cuts over guide activation after POL-07, corrected 12B2, CP05 active + ContributionPolicy behavior, CP06 validation, and CP07 ProjectGuide + binding are merged. CP08, WS-ARCH-001-03A/03B/03C, and CP09 are downstream; + the retired economic fields grant no activation authority while CP09 waits + for the replacement task/assignment path to become active. Agent-backed commands may perform an authorization preflight before external work, but no prepared handle may cross a rollback, commit, agent call, Celery diff --git a/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-12H-guide-activation.md b/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-12H-guide-activation.md index 8e3eafd07..ac3a13fa1 100644 --- a/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-12H-guide-activation.md +++ b/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-12H-guide-activation.md @@ -1,7 +1,9 @@ # Chunk Contract: WS-AUTH-001-12H - Unified Guide Activation Cutover -Status: Proposed after POL-07, corrected 12B2, and the owning CON clean cut; -inactive. Risk: L1. +Status: Proposed after POL-07, corrected 12B2, CP05 active +ContributionPolicy behavior, CP06 validation, and CP07 ProjectGuide binding; +inactive. Risk: L1. CP08, WS-ARCH-001-03A/03B/03C, and CP09 are downstream and +are not prerequisites. ## Goal @@ -31,7 +33,11 @@ chain compatibility, or issuer-role fallback. - Final PREP binds the complete chain plus actor/link/grant, action, operation, request/idempotency, session, and transaction. POL/project code owns product locks and the one activation commit. -- Retired guide-bound economic policy is absent after the owning CON clean cut. +- The exact CP07 `ProjectGuide.contribution_policy_version_id` binding is + present, current for the activation lineage, and validated through CP06 + against CP05 active behavior. Retired guide-bound economic fields grant no + authority and are ignored by this activation path; CP09 removes them only + after WS-ARCH-001-03C activates the replacement task/assignment path. - The merged POL-07 single checker port proves both compiled pre-submit and post-submit components are executable through the sole approved commands; activation cannot precede that proof. From 25803acc3c5eb5fff408089409923567644499c5 Mon Sep 17 00:00:00 2001 From: Abiorh001 Date: Thu, 13 Aug 2026 18:41:44 +0100 Subject: [PATCH 09/11] docs(auth): preserve parent and align 12H prerequisites --- .../PLAN.md | 10 +++++----- .../WS-ARCH-001-PLAN3-external-review-response.md | 14 ++++++++++---- .../CHUNK_MAP.md | 2 +- .../STATUS.md | 7 ++++--- .../WS-AUTH-001-12-project-mutation-cutover.md | 8 +++----- 5 files changed, 23 insertions(+), 18 deletions(-) diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/PLAN.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/PLAN.md index 59d6c3c9a..6097cb14c 100644 --- a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/PLAN.md +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/PLAN.md @@ -129,7 +129,7 @@ POL-03B -> POL-04A -> AUTH-12B2 -> POL-04B -> POL-05A -> AUTH-12F4 -> POL-05B -> POL-06A -> AUTH-12G -> POL-06B --> POL-07 + CP05 + CP06 + CP07 -> AUTH-12H +-> POL-07 + corrected AUTH-12B2 + CP05 + CP06 + CP07 -> AUTH-12H ``` Each POL/AUTH chunk repairs only the public boundary and structural debt it @@ -139,10 +139,10 @@ and hashes. POL-08 physical cleanup follows the canonical `allow_review` milestone so it does not create a circular dependency on the Submission path; no live call may use the transitional inference paths in the interim. -AUTH-12H requires only active policy behavior, validation, and ProjectGuide -binding needed for guide activation. CP08, WS-ARCH-001-03A/03B/03C, and CP09 -are downstream; making final legacy removal a 12H prerequisite would create a -cycle through task activation. +AUTH-12H requires only corrected AUTH-12B2 plus active policy behavior, +validation, and ProjectGuide binding needed for guide activation. CP08, +WS-ARCH-001-03A/03B/03C, and CP09 are downstream; making final legacy removal +a 12H prerequisite would create a cycle through task activation. ### Gate 1: current task, assignment and submitter-policy authority diff --git a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/reviews/WS-ARCH-001-PLAN3-external-review-response.md b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/reviews/WS-ARCH-001-PLAN3-external-review-response.md index f772f4f21..9e243fc72 100644 --- a/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/reviews/WS-ARCH-001-PLAN3-external-review-response.md +++ b/.agent-loop/initiatives/WS-ARCH-001-modular-monolith-boundaries/reviews/WS-ARCH-001-PLAN3-external-review-response.md @@ -20,10 +20,10 @@ capability ledger. - Distinguished the covered Project Manager HTTP entry from the fixed project setup service's internal command resolution in CP07. -- Corrected the two still-proposed AUTH-12/12H contracts so guide activation - depends on POL-07, corrected 12B2, CP05, CP06, and CP07 only. Their retired - economic fields confer no authority; CP08, ARCH-03A/03B/03C, and CP09 remain - downstream, removing the last documented cycle. +- Corrected the still-proposed AUTH-12H contract so guide activation depends on + POL-07, corrected 12B2, CP05, CP06, and CP07 only. Its retired economic + fields confer no authority; CP08, ARCH-03A/03B/03C, and CP09 remain + downstream, removing the last active documented cycle. ## Comments deferred @@ -32,6 +32,12 @@ active CHUNK_MAP/STATUS/runtime records already mark them non-executable and point to the current CP replacements. Editing their landed contract bodies would violate the repository's atomic chunk-state history gate. +- The suggested edit to `WS-AUTH-001-12-project-mutation-cutover.md` was + reverted after exact-head Agent Gates correctly identified it as the rejected, + non-executable planning parent with immutable landed outcome. D38, the active + AUTH map/status, PLAN3, and the corrected 12H contract supersede its original + future sequence; the parent is historical evidence, not implementation + authority. ## Human decisions needed diff --git a/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/CHUNK_MAP.md b/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/CHUNK_MAP.md index fd45ec3cf..ee1313a1f 100644 --- a/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/CHUNK_MAP.md +++ b/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/CHUNK_MAP.md @@ -82,7 +82,7 @@ sequence. | `WS-AUTH-001-12I` | Unified Compilation Request/Execute Activation | L1 | Merged through PR #312 as `98eae13e`; POL-03B is the next consumer | | `WS-AUTH-001-12F4` | Unified Pre-Submit Approval Activation | L1 | Proposed after hidden POL-05A; before POL-05B | | `WS-AUTH-001-12G` | Unified Post-Submit Projection Activation | L1 | Proposed after hidden POL-06A; zero model calls | -| `WS-AUTH-001-12H` | Unified Guide Activation Cutover | L1 | Proposed after POL-06B/07 and complete approved unified lineage | +| `WS-AUTH-001-12H` | Unified Guide Activation Cutover | L1 | Proposed after POL-06B/07, corrected AUTH-12B2, CP05 active behavior, CP06 validation, and CP07 ProjectGuide binding; CP08, ARCH-03A/03B/03C, and CP09 are downstream | | `WS-AUTH-001-13` | Task Management And Assignment Cutover | L1 | Proposed | | `WS-AUTH-001-14` | Historical Submission, Checker, And Audit Visibility Cutover | L1 | Planned retirement as superseded/non-executable; split across WS-ARCH-001-03C/04D/04E/04F and later REV/public cutover | | `WS-AUTH-001-15` | Remaining Internal Service Cutover And Obsolete Authority Removal | L1 | Proposed | diff --git a/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/STATUS.md b/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/STATUS.md index e1f19fe09..692c9c6e2 100644 --- a/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/STATUS.md +++ b/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/STATUS.md @@ -32,9 +32,10 @@ not current start requirements. pre-submit policy; it performs no inference. - AUTH-12G follows hidden POL-06A and activates deterministic stored post-submit projection authority. -- AUTH-12H follows complete POL-06B/07 plus CP05 active ContributionPolicy - behavior, CP06 validation, and CP07 ProjectGuide binding. It does not depend - on CP08, WS-ARCH-001-03A/03B/03C, or CP09 final legacy removal. +- AUTH-12H follows complete POL-06B/07, corrected AUTH-12B2, CP05 active + ContributionPolicy behavior, CP06 validation, and CP07 ProjectGuide binding. + It does not depend on CP08, WS-ARCH-001-03A/03B/03C, or CP09 final legacy + removal. - AUTH-13 through AUTH-16 remain future task, submission/checker, cleanup, and conformance boundaries. Each must be split against then-current product behavior before implementation. diff --git a/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-12-project-mutation-cutover.md b/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-12-project-mutation-cutover.md index 4c28d25f0..47391ead0 100644 --- a/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-12-project-mutation-cutover.md +++ b/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-12-project-mutation-cutover.md @@ -96,11 +96,9 @@ Superseded for all remaining work by D38 and `CHUNK_MAP.md`. changing checker execution, visibility, or `WS-POL-002-03` behavior. 9. 12B2 activates setup-run ledger authority and cuts both Celery entry points only after 12E/12F4/12G have activated the exact product actions they call. -10. 12H cuts over guide activation after POL-07, corrected 12B2, CP05 active - ContributionPolicy behavior, CP06 validation, and CP07 ProjectGuide - binding are merged. CP08, WS-ARCH-001-03A/03B/03C, and CP09 are downstream; - the retired economic fields grant no activation authority while CP09 waits - for the replacement task/assignment path to become active. +10. 12H cuts over guide activation after every prerequisite family is local + and the owning CON clean cut has removed the retired economic-policy + dependency. Agent-backed commands may perform an authorization preflight before external work, but no prepared handle may cross a rollback, commit, agent call, Celery From fb02128209f6fbbc05d874e60e8fb4fb72e67b34 Mon Sep 17 00:00:00 2001 From: Abiorh001 Date: Thu, 13 Aug 2026 18:43:17 +0100 Subject: [PATCH 10/11] docs(auth): project corrected 12H contract --- .agent-loop/CURRENT_STATE.md | 2 ++ .../chunks/WS-AUTH-001-12H-guide-activation.md | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/.agent-loop/CURRENT_STATE.md b/.agent-loop/CURRENT_STATE.md index 05500dc26..4b3a7554c 100644 --- a/.agent-loop/CURRENT_STATE.md +++ b/.agent-loop/CURRENT_STATE.md @@ -87,6 +87,8 @@ inherits that immutable Submission version without a CON lookup. CP09 is the proposed clean legacy economic-path removal after WS-ARCH-001-03C activates the CP08/ARCH-03B replacement behavior. WS-REV-001-10 is planned after its named REV and CON prerequisites. +WS-AUTH-001-12H is planned after POL-07, corrected AUTH-12B2, CP05, CP06, and +CP07; CP08, WS-ARCH-001-03A/03B/03C, and CP09 remain downstream. Merged WS-CON-001-PLAN5 remains historical evidence for same-TaskAssignment human revision rebase; current PLAN2 supersedes its independent reviewer-policy selection wording. diff --git a/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-12H-guide-activation.md b/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-12H-guide-activation.md index ac3a13fa1..b9ba66727 100644 --- a/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-12H-guide-activation.md +++ b/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-12H-guide-activation.md @@ -5,6 +5,10 @@ ContributionPolicy behavior, CP06 validation, and CP07 ProjectGuide binding; inactive. Risk: L1. CP08, WS-ARCH-001-03A/03B/03C, and CP09 are downstream and are not prerequisites. +## Merge state + +- Outcome on merge: `planned` + ## Goal Activate only `project.guide.activate` over one complete approved From ae87b27f82ba55867c4832bd9caeb2865369a5bb Mon Sep 17 00:00:00 2001 From: Abiorh001 Date: Thu, 13 Aug 2026 18:43:44 +0100 Subject: [PATCH 11/11] docs(auth): name planned 12H status --- .../WS-AUTH-001-workstream-authorization-service/STATUS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/STATUS.md b/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/STATUS.md index 692c9c6e2..c2b04d622 100644 --- a/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/STATUS.md +++ b/.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/STATUS.md @@ -32,7 +32,7 @@ not current start requirements. pre-submit policy; it performs no inference. - AUTH-12G follows hidden POL-06A and activates deterministic stored post-submit projection authority. -- AUTH-12H follows complete POL-06B/07, corrected AUTH-12B2, CP05 active +- WS-AUTH-001-12H is planned after complete POL-06B/07, corrected AUTH-12B2, CP05 active ContributionPolicy behavior, CP06 validation, and CP07 ProjectGuide binding. It does not depend on CP08, WS-ARCH-001-03A/03B/03C, or CP09 final legacy removal.