Skip to content

[codex] Reconcile portfolio working set contracts#135

Merged
saagpatel merged 2 commits into
mainfrom
codex/portfolio-working-set-reconcile
Jul 4, 2026
Merged

[codex] Reconcile portfolio working set contracts#135
saagpatel merged 2 commits into
mainfrom
codex/portfolio-working-set-reconcile

Conversation

@saagpatel

Copy link
Copy Markdown
Owner

What

Adds explicit portfolio catalog contracts for the current working set and refreshes the local Notion project map entry for cost-tracker.

Why

The canonical portfolio truth snapshot was treating many settled repos as decision-needed because they lacked explicit catalog contracts. That made the operator queue noisy and weakened the usefulness of default attention.

Review Of What Was Built

  • Added explicit finish, maintain, experiment, and archive contracts for the in-scope working set.
  • Declared peer-agent-tools as active infrastructure with a maintain path.
  • Added the local Notion project map row produced by the portfolio-truth refresh.

Cleanup Review

Kept this to catalog/map source changes. Generated compatibility outputs were refreshed locally during verification but are not part of this PR.

Verification Summary

  • uv run operator-os-seam-linter --truth output/portfolio-truth-latest.json --json passed.
  • uv run ruff check . passed.
  • uv run pytest -q tests/test_portfolio_catalog.py tests/test_portfolio_pathing.py tests/test_portfolio_truth.py tests/test_weekly_command_center.py passed: 80 passed.
  • uv run pytest -q passed: 2,657 passed, 2 skipped.
  • git diff --check passed.

Shipped Summary

With the companion context PRs for agent-session-replay and peer-agent-tools applied locally, the two approved remaining decision items clear from the portfolio truth queue.

Next Phase

Merge the two companion context PRs first or alongside this PR, then rerun audit report saagpatel --portfolio-truth --portfolio-truth-allow-empty-notion and the seam linter to refresh canonical local truth.

Remaining Roadmap

  • Land the context PRs that make the remaining approved items legible to GHRA.
  • Re-run the portfolio truth refresh after merge to keep local generated artifacts aligned.

@saagpatel saagpatel marked this pull request as ready for review July 4, 2026 05:28
@saagpatel saagpatel merged commit 130a281 into main Jul 4, 2026
4 checks passed

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5108f364ce

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +1202 to +1208
agent-guestbook-inbox:
owner: d
lifecycle_state: experimental
review_cadence: monthly
intended_disposition: experiment
maturity_program: experiment
category: infrastructure

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Set experiment contracts to a foundation target

These new experiment entries inherit target_maturity: operating from the catalog defaults because no target is set. resolve_target_maturity() prefers the catalog/default target before the experiment program's own foundation target, so every repo in this added experiment block will be graded against the stricter Operating bar instead of the intended lightweight experiment bar. Add an explicit target_maturity: foundation (or another deliberate target) to the entries in this block.

Useful? React with 👍 / 👎.

Comment on lines +1231 to +1235
sae-synth-spike:
owner: d
lifecycle_state: archived
review_cadence: quarterly
intended_disposition: archive

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Set archive contracts to the archive program

These archive entries inherit the default maturity_program: maintain because the block only sets intended_disposition: archive. Since resolve_program_key() chooses maturity_program before intended_disposition, these newly archived repos will be scored under Maintain and build_operating_path_entry() records a program/disposition conflict instead of a clean archive posture. Add maturity_program: archive (and an explicit archive target such as foundation) to the entries in this block.

Useful? React with 👍 / 👎.

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.

1 participant