Skip to content

Add post-submit policy approval APIs#90

Merged
abiorh-claw merged 16 commits into
mainfrom
codex/ws-pol-002-03-post-submit-approval-visibility
Jul 11, 2026
Merged

Add post-submit policy approval APIs#90
abiorh-claw merged 16 commits into
mainfrom
codex/ws-pol-002-03-post-submit-approval-visibility

Conversation

@Abiorh001

@Abiorh001 Abiorh001 commented Jul 11, 2026

Copy link
Copy Markdown
Collaborator

PR Trust Bundle: WS-POL-002-03

Chunk

WS-POL-002-03 - Server-Owned Policy Approval And Visibility APIs

Reviewed Revision

Reviewed code SHA: 0e59873971db8c2a7d9d6f9f7e725cb902eb888e

Reviewed at: 2026-07-11T18:04:17Z

Internal review evidence:

  • .agent-loop/initiatives/WS-POL-002-post-submit-checker-foundation/reviews/WS-POL-002-03-internal-review-evidence.md

Goal

Expose generated post-submit checker setup state through safe APIs and replace
manual setup approval shortcuts with server-owned approval/correction actions.

Human-Approved Intent

Post-submit setup mirrors the pre-submit separation:

Project guide/source material
-> setup-time derivation agent
-> trusted Workstream compiler
-> generated project PostSubmitCheckerPolicy
-> setup-authorized admin/project_manager approval or correction request
-> active guide can lock the approved policy

The agent derives constrained setup policy. Workstream owns approval,
correction, visibility, and activation checks. The agent still does not judge
worker submissions at runtime.

What Changed

  • Added setup visibility endpoint:
    • GET /api/v1/projects/{project_id}/guides/{guide_id}/post-submit-checker-policy/setup
  • Added server-owned approval endpoint:
    • POST /api/v1/projects/{project_id}/guides/{guide_id}/post-submit-checker-policy/approve
  • Added server-owned correction endpoint:
    • POST /api/v1/projects/{project_id}/guides/{guide_id}/post-submit-checker-policy/request-correction
  • Added safe setup summaries that expose IDs, lifecycle status, checker counts/names, policy hash, approval provenance, and bounded derivation input context.
  • Kept raw source text, local paths, exact source hashes, source item refs, policy bodies, and credential-shaped strings out of setup visibility responses.
  • Added row-locking and current-context validation before approval/correction.
  • Made approval idempotent without rewriting existing approval provenance.
  • Made correction supersede and retain rejected compiled output with bounded
    actor/role/time/reason provenance, feed feedback only into the exact matching
    setup context, reject unchanged replacement hashes, and requeue continuation.
  • Distinguished correction from upstream-policy supersession and added
    migration 0015_post_submit_correction with append-only audit rows plus
    current-policy uniqueness.
  • Updated docs and loop state to reflect the new server-owned setup boundary.
  • Reconciled shared loop state so PR Add post-submit policy approval APIs #90 is current while leaving WS-AUTH
    initiative files unchanged for the separate authorization worktree.

Design Chosen

Approval is a server-owned state transition, not a client patch:

compiled policy
-> lock guide and policy rows
-> validate guide/source/effective/pre-submit/setup-run context
-> mark policy approved with server actor/role/time provenance
-> return safe setup summary

Correction is also server-owned and append-only:

draft guide + unapproved compiled policy
-> lock exact setup context
-> supersede and retain rejected policy/hash/body
-> record bounded actor/role/time/reason provenance
-> enqueue correction-aware setup continuation after commit
-> reject unchanged replacement hash

Alternatives Rejected

  • Client-provided approval notes: rejected because they were not consumed by the domain model and could become misleading ignored input.
  • Worker-visible policy bodies: rejected. Workers only need actionable checker results later in runtime flows.
  • Manual guide payload policy fields: rejected. Generated setup output is the authoritative path.
  • Destructive correction cleanup: rejected because it loses audit provenance.
  • Unscoped correction feedback: rejected because stale feedback must never cross
    source/effective/pre-submit setup contexts.
  • Runtime agent judgment: rejected. Runtime remains deterministic checker execution.

Scope Control

This chunk stays inside project setup visibility and approval. It does not
change task runtime, checker runtime, frontend/demo work, payment, reputation,
blockchain settlement, reviewer decision records, or per-task checker policy
generation.

Acceptance Criteria Proof

  • Project setup APIs show generated post-submit policy status without database inspection.
  • Guide create/update still rejects obsolete post_submit_checker_policy payload fields.
  • Guide activation blocks unless the compiled post-submit policy is approved and matches the current guide/source/effective/pre-submit context.
  • Approval provenance is server-owned, immutable on retry, and records actor id, role, timestamp, source snapshot id/hash, and compiled policy hash.
  • Setup visibility does not leak internal policy body details, raw source material, local source refs, exact source hashes, or credential-shaped correction text.
  • Worker, reviewer, finance, and auditor roles are denied on setup visibility, approval, and correction endpoints.
  • Correction preserves rejected output, returns bounded audit history, and
    requeues exact-context correction-aware derivation rather than becoming a
    dead end.

Tests/Checks Run

cd backend && .venv/bin/pytest tests/test_projects.py::test_post_submit_checker_policy_approval_uses_server_provenance tests/test_projects.py::test_post_submit_checker_policy_correction_clears_unapproved_output -q
cd backend && .venv/bin/pytest tests/test_projects.py -q -k "post_submit_checker_policy or post_submit_setup_visibility"
cd backend && .venv/bin/pytest tests/test_auth.py -q
cd backend && .venv/bin/pytest tests/test_alembic.py -q
cd backend && .venv/bin/pytest tests/test_projects.py::test_post_submit_checker_policy_correction_preserves_audit_and_guides_rederivation tests/test_projects.py::test_corrected_submission_artifact_policy_resumes_post_submit_setup tests/test_projects.py::test_database_rejects_superseded_post_submit_policy_without_correction_provenance -q
cd backend && .venv/bin/ruff check app tests scripts
cd backend && .venv/bin/docstr-coverage --config .docstr.yaml
cd backend && .venv/bin/pytest tests/test_projects.py tests/test_auth.py -q
python3 scripts/check_stale_workstream_wording.py
python3 scripts/check_markdown_links.py
git diff --check

Result summary:

  • Targeted approval/correction tests: 2 passed.
  • Focused post-submit project setup slice: 9 passed.
  • Auth suite: 21 passed.
  • Alembic suite: 6 passed.
  • Final correction/upstream/database slice: 3 passed.
  • Ruff: passed.
  • Docstring coverage: 100%.
  • Stale wording scan: passed.
  • Markdown link check: passed.
  • Diff whitespace check: passed.

Reviewer Results

These are Codex engineering-loop reviewer verdicts, not Workstream product
review decisions. Product review decisions remain accept, needs_revision,
and reject; internal reviewer agents report PASS, PASS WITH LOW RISKS,
PASS AFTER FIXES, or FAIL so process evidence stays separate from product
lifecycle records.

Reviewer Result Blocking findings Notes
senior engineering PASS WITH LOW RISKS None Service/repository boundary stayed narrow.
QA/test PASS None Correction, upstream supersession, blank reason, stale-context, and migration cases passed.
security/auth PASS None Credential-shaped redaction and non-setup role denials covered.
product/ops PASS WITH LOW RISKS None Correction is actionable, auditable, and exact-context scoped.
architecture PASS WITH LOW RISKS None Append-only project boundary and zero WS-AUTH delta confirmed.
docs PASS None Active docs and migration 0015 are aligned.
reuse/dedup PASS WITH LOW RISKS None No blocking reuse issues.
test delta PASS WITH LOW RISKS None Leak assertions broadened.
CI integrity PASS None No CI/test weakening found; local CI-equivalent checks passed.

External Review

External review response:

  • .agent-loop/initiatives/WS-POL-002-post-submit-checker-foundation/reviews/WS-POL-002-03-external-review-response.md

Earlier CodeRabbit and GitHub Actions runs passed on the prior pushed head. The
current implementation and review-response fixes are bound to non-evidence
commit 0e59873971db8c2a7d9d6f9f7e725cb902eb888e; external checks must rerun on
the evidence-only pushed head before merge.

Remaining Risks

  • The current bootstrap authorization still treats global admin and
    project_manager as setup-authorized; project-scoped role assignment remains
    future Workstream role work.
  • WS-POL-002-04 still owns runtime hardening for locked post-submit policy
    execution and routing.

Human Review Focus

  • Confirm there is one authoritative server-owned post-submit policy approval path.
  • Confirm correction preserves rejected-policy audit history, scopes feedback
    to the exact setup context, and resumes derivation without accepting an
    unchanged replacement.
  • Confirm operator visibility is useful without leaking source/policy secrets.
  • Confirm worker-facing APIs remain out of scope for setup internals.

Human Merge Ownership

Only the user can approve and merge this PR. Codex must not merge it without
explicit user approval for this specific PR.

@coderabbitai

coderabbitai Bot commented Jul 11, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Adds operator-facing setup visibility, server-owned approval, and correction endpoints for compiled post-submit checker policies, with locking, validation, redaction, authorization, correction requeueing, tests, documentation, and lifecycle-state updates.

Changes

Post-submit checker policy lifecycle

Layer / File(s) Summary
API contracts and route wiring
backend/app/modules/projects/schemas.py, backend/app/modules/projects/repository.py, backend/app/modules/projects/router.py
Adds request/response schemas, transactional policy locking, and setup, approval, and correction routes.
Policy lifecycle and redaction logic
backend/app/modules/projects/service.py
Implements setup retrieval, context validation, server-owned approval, correction cleanup and requeueing, provenance handling, and credential-shaped value redaction.
Lifecycle behavior validation
backend/tests/test_projects.py
Updates setup helpers and verifies redaction, provenance, correction behavior, locking, authorization, and post-approval immutability.
Operational and product documentation
docs/architecture_data_model.md, docs/operations_project_operating_manual.md, docs/product_first_user_flows.md
Documents approval and correction APIs, bounded operator summaries, activation gating, and updated project flows.
Workflow state and review evidence
.agent-loop/...
Updates WS-POL-002-03 status, review evidence, trust-bundle records, rerun instructions, and gating conditions for future WS-POL chunks.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Operator
  participant ProjectsRouter
  participant ProjectService
  participant ProjectRepository
  Operator->>ProjectsRouter: Request setup, approval, or correction
  ProjectsRouter->>ProjectService: Invoke policy lifecycle operation
  ProjectService->>ProjectRepository: Lock and validate compiled policy
  ProjectRepository-->>ProjectService: Return locked policy state
  ProjectService-->>ProjectsRouter: Return redacted setup response
  ProjectsRouter-->>Operator: Return policy status
Loading

Possibly related PRs

Suggested reviewers: abiorh-claw

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 64.86% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Description check ⚠️ Warning The description covers the core change, but it misses several required template sections and fields like chunk contract, scope, product behavior, CI gates, and test delta. Add the missing template sections and required fields, especially chunk contract, scope control details, product behavior, CI/gate integrity, test delta, and the reviewer metadata fields.
✅ Passed checks (3 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title is clear and directly matches the PR’s main change, though it only mentions approval APIs and omits visibility/correction.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/ws-pol-002-03-post-submit-approval-visibility

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@abiorh-claw abiorh-claw self-requested a review July 11, 2026 13:56

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (1)
backend/app/modules/projects/schemas.py (1)

529-538: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick win

Consider a typed model instead of dict[str, Any] for derivation_input_summary.

This field carries the "bounded" operator-visible derivation context, and the whole point of this PR is to guarantee no raw source text, hashes, or policy bodies leak through. A free-form dict[str, Any] bypasses Pydantic's response-model filtering — any key the service returns passes through unchecked, so the redaction guarantee lives only in code discipline in _post_submit_derivation_input_summary, not in the schema contract. A dedicated model (mirroring the known fixed keys, e.g. source_snapshot_id, source_snapshot_hash_redacted, sufficiency_status, effective_policy_id, pre_submit_checker_names, etc.) with extra="forbid" would make the contract enforceable at the type level and fail loudly if an unexpected/unsafe key is ever introduced.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@backend/app/modules/projects/schemas.py` around lines 529 - 538, Replace the
free-form derivation_input_summary field in PostSubmitCheckerPolicySetupResponse
with a dedicated Pydantic model containing the known bounded keys returned by
_post_submit_derivation_input_summary, including redacted snapshot metadata,
sufficiency status, effective policy ID, and pre-submit checker names. Configure
the model with extra="forbid" so unexpected or unsafe fields are rejected, while
preserving the existing response shape and types for the approved keys.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.agent-loop/LOOP_STATE.md:
- Around line 5-16: Remove or update the stale pause bullet in LOOP_STATE.md
that says WS-POL-002-03 must not start. Reconcile it with the implemented status
and PR `#90` recorded in the active initiative section, leaving a single
authoritative state for WS-POL-002-03.

In @.agent-loop/WORK_QUEUE.md:
- Around line 13-14: Synchronize WS-POL-002-03 lifecycle evidence across all
listed artifacts before merge: in .agent-loop/WORK_QUEUE.md lines 13-14 retain
one WS-POL-002-03 row and derive WS-POL-002-04’s state from it; in CHUNK_MAP.md
line 15 reconcile “In review” with the paused entry; in STATUS.md lines 24-26
align the implementation narrative with the paused-after-chunk-02 narrative and
remove the duplicate “In review”/“Paused” rows at lines 47-48; in
.agent-loop/REVIEW_LOG.md lines 5-6 replace the stale publication-pending text
with the current PR `#90` state.

In `@docs/operations_project_operating_manual.md`:
- Line 45: Update docs/operations_project_operating_manual.md lines 45-45 to
require approval by admin or project_manager only, explicitly treating
correction requests as blocked/in-progress; update lines 107-110 to state
activation requires the approval endpoint and correction only requeues
regeneration; update docs/product_first_user_flows.md lines 18-23 so correction
branches back to post-submit derivation rather than policy enablement or
activation.

---

Nitpick comments:
In `@backend/app/modules/projects/schemas.py`:
- Around line 529-538: Replace the free-form derivation_input_summary field in
PostSubmitCheckerPolicySetupResponse with a dedicated Pydantic model containing
the known bounded keys returned by _post_submit_derivation_input_summary,
including redacted snapshot metadata, sufficiency status, effective policy ID,
and pre-submit checker names. Configure the model with extra="forbid" so
unexpected or unsafe fields are rejected, while preserving the existing response
shape and types for the approved keys.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 0048edd0-0ca0-48b0-a6bd-babed4b24f50

📥 Commits

Reviewing files that changed from the base of the PR and between ad6d644 and 1968096.

📒 Files selected for processing (16)
  • .agent-loop/LOOP_STATE.md
  • .agent-loop/REVIEW_LOG.md
  • .agent-loop/WORK_QUEUE.md
  • .agent-loop/initiatives/WS-POL-002-post-submit-checker-foundation/CHUNK_MAP.md
  • .agent-loop/initiatives/WS-POL-002-post-submit-checker-foundation/STATUS.md
  • .agent-loop/initiatives/WS-POL-002-post-submit-checker-foundation/reviews/WS-POL-002-03-external-review-response.md
  • .agent-loop/initiatives/WS-POL-002-post-submit-checker-foundation/reviews/WS-POL-002-03-internal-review-evidence.md
  • .agent-loop/initiatives/WS-POL-002-post-submit-checker-foundation/reviews/WS-POL-002-03-pr-trust-bundle.md
  • backend/app/modules/projects/repository.py
  • backend/app/modules/projects/router.py
  • backend/app/modules/projects/schemas.py
  • backend/app/modules/projects/service.py
  • backend/tests/test_projects.py
  • docs/architecture_data_model.md
  • docs/operations_project_operating_manual.md
  • docs/product_first_user_flows.md

Comment thread .agent-loop/LOOP_STATE.md
Comment thread .agent-loop/WORK_QUEUE.md Outdated
Comment thread docs/operations_project_operating_manual.md Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/product_first_user_flows.md (1)

28-28: 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

Use the exact activation-gate wording.

The acceptance criterion should require an approved, current compiled post-submit checker policy, not merely an approved policy, so the documented gate cannot be interpreted as allowing stale or uncompiled output.

As per coding guidelines, Markdown should prefer evidence-backed documentation; the PR objective explicitly requires an approved, current compiled policy.

Proposed wording
-- Project cannot become active without guide, immutable guide source snapshot, passed or acknowledged guide sufficiency report for that immutable guide source snapshot, submission artifact policy, effective project submission artifact hash, project pre-submit checker bundle hash, approved post-submit checker policy, review policy, revision policy, and payment policy.
+- Project cannot become active without guide, immutable guide source snapshot, passed or acknowledged guide sufficiency report for that immutable guide source snapshot, submission artifact policy, effective project submission artifact hash, project pre-submit checker bundle hash, an approved, current compiled post-submit checker policy, review policy, revision policy, and payment policy.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/product_first_user_flows.md` at line 28, Update the project
activation-gate sentence in product_first_user_flows.md to require an approved,
current compiled post-submit checker policy, replacing the broader “approved
post-submit checker policy” wording while preserving all other gate requirements
unchanged.

Source: Coding guidelines

🧹 Nitpick comments (1)
docs/product_first_user_flows.md (1)

19-20: 🗄️ Data Integrity & Integration | 🔵 Trivial | ⚡ Quick win

Document the correction contract completely.

This says correction clears output and returns to derivation, but the contract also requires preserving redacted metadata and requeueing setup continuation. Add both guarantees to avoid implying metadata is deleted or continuation is synchronous.

As per coding guidelines, Markdown should prefer evidence-backed documentation; the PR objective explicitly requires redacted-metadata preservation and setup requeueing.

Proposed wording
- If admin or project_manager requests correction instead, Workstream clears unapproved output and returns to post-submit derivation; setup does not continue toward activation.
+ If admin or project_manager requests correction instead, Workstream clears unapproved compiled output, preserves redacted metadata, and requeues setup continuation from post-submit derivation; setup does not continue toward activation.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/product_first_user_flows.md` around lines 19 - 20, Update the correction
behavior described in the Workstream flow around “post-submit derivation” to
state that clearing unapproved output preserves redacted metadata and that setup
continuation is requeued rather than proceeding synchronously. Keep the existing
return-to-derivation behavior and approval path unchanged.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
@.agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-01-adopt-authorization-baseline.md:
- Around line 121-123: Update the roadmap status wording in this chunk to say it
defers authorization implementation until auth proof, while preserving the
existing D4-D10 and start-signal conditions.

---

Outside diff comments:
In `@docs/product_first_user_flows.md`:
- Line 28: Update the project activation-gate sentence in
product_first_user_flows.md to require an approved, current compiled post-submit
checker policy, replacing the broader “approved post-submit checker policy”
wording while preserving all other gate requirements unchanged.

---

Nitpick comments:
In `@docs/product_first_user_flows.md`:
- Around line 19-20: Update the correction behavior described in the Workstream
flow around “post-submit derivation” to state that clearing unapproved output
preserves redacted metadata and that setup continuation is requeued rather than
proceeding synchronously. Keep the existing return-to-derivation behavior and
approval path unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 2dc9ac0d-dc35-4c49-8c09-dd1f42f4c75b

📥 Commits

Reviewing files that changed from the base of the PR and between 1968096 and 5a04d79.

📒 Files selected for processing (22)
  • .agent-loop/LOOP_STATE.md
  • .agent-loop/REVIEW_LOG.md
  • .agent-loop/WORK_QUEUE.md
  • .agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/CHUNK_MAP.md
  • .agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/DECISIONS.md
  • .agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/DISCOVERY.md
  • .agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/INTENT.md
  • .agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/PLAN.md
  • .agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/RISKS.md
  • .agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/STATUS.md
  • .agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-01-adopt-authorization-baseline.md
  • .agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-12-project-mutation-cutover.md
  • .agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-16-evidence-live-proof.md
  • .agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-PLAN-authorization-service-planning.md
  • .agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/reviews/WS-AUTH-001-PLAN-internal-review-evidence.md
  • .agent-loop/initiatives/WS-POL-002-post-submit-checker-foundation/CHUNK_MAP.md
  • .agent-loop/initiatives/WS-POL-002-post-submit-checker-foundation/STATUS.md
  • .agent-loop/initiatives/WS-POL-002-post-submit-checker-foundation/reviews/WS-POL-002-03-external-review-response.md
  • .agent-loop/initiatives/WS-POL-002-post-submit-checker-foundation/reviews/WS-POL-002-03-internal-review-evidence.md
  • .agent-loop/initiatives/WS-POL-002-post-submit-checker-foundation/reviews/WS-POL-002-03-pr-trust-bundle.md
  • docs/operations_project_operating_manual.md
  • docs/product_first_user_flows.md
✅ Files skipped from review due to trivial changes (15)
  • .agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-12-project-mutation-cutover.md
  • .agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/RISKS.md
  • .agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/CHUNK_MAP.md
  • .agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/DECISIONS.md
  • .agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/chunks/WS-AUTH-001-16-evidence-live-proof.md
  • .agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/DISCOVERY.md
  • .agent-loop/initiatives/WS-POL-002-post-submit-checker-foundation/CHUNK_MAP.md
  • .agent-loop/initiatives/WS-POL-002-post-submit-checker-foundation/reviews/WS-POL-002-03-internal-review-evidence.md
  • .agent-loop/REVIEW_LOG.md
  • docs/operations_project_operating_manual.md
  • .agent-loop/initiatives/WS-AUTH-001-workstream-authorization-service/INTENT.md
  • .agent-loop/initiatives/WS-POL-002-post-submit-checker-foundation/reviews/WS-POL-002-03-external-review-response.md
  • .agent-loop/initiatives/WS-POL-002-post-submit-checker-foundation/STATUS.md
  • .agent-loop/WORK_QUEUE.md
  • .agent-loop/initiatives/WS-POL-002-post-submit-checker-foundation/reviews/WS-POL-002-03-pr-trust-bundle.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • .agent-loop/LOOP_STATE.md

@abiorh-claw abiorh-claw merged commit a7aa474 into main Jul 11, 2026
4 checks passed
@abiorh-claw abiorh-claw deleted the codex/ws-pol-002-03-post-submit-approval-visibility branch July 11, 2026 18:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants