Skip to content

fix: resolve portfolio decision queue catalog entries#163

Merged
saagpatel merged 2 commits into
mainfrom
codex/resolve-portfolio-queue-20260707
Jul 7, 2026
Merged

fix: resolve portfolio decision queue catalog entries#163
saagpatel merged 2 commits into
mainfrom
codex/resolve-portfolio-queue-20260707

Conversation

@saagpatel

@saagpatel saagpatel commented Jul 7, 2026

Copy link
Copy Markdown
Owner

What

Adds explicit portfolio catalog contracts for fable-os-divergence and fable-site-rebuild, and repairs the canonical Signal & Noise contract so the signal-noise workspace path resolves to that canonical entry.

Why

The weekly portfolio review surfaced these as decision-needed because they had no declared operating path. The two Fable folders are campaign/control-room workspaces, not default active product surfaces. Signal & Noise is an active maintained product surface and should not sit in investigate-only limbo because the local checkout/repo slug differs from the canonical display name.

Review Of What Was Built

  • Classified fable-os-divergence as an experimental infrastructure campaign workspace.
  • Classified fable-site-rebuild as an experimental infrastructure control room whose product target is portfolio-index.
  • Updated the canonical Signal & Noise catalog entry with product metadata and aliases: [signal-noise].
  • Added catalog alias indexing so catalog_entry_for_repo() can match a workspace path/repo slug to the canonical catalog entry.
  • Added a regression test for canonical catalog aliases.

Cleanup Review

This removes false queue pressure without changing product code or broad portfolio policy. No parked/archive docs refresh was added.

Verification Summary

  • python3.13 - <<'PY' ... yaml.safe_load(...) verified the catalog parses and the canonical Signal & Noise entry owns the signal-noise alias.
  • python3.13 -m src.cli report saagpatel --portfolio-truth --portfolio-truth-include-security --output-dir output regenerated truth with Notion context loaded.
  • python3.13 -m src.cli security-gate --output-dir output --max-age-hours 168 --json passed: 135 scanned, 0 high, 0 critical, source age 0.01h.
  • python3.13 -m pytest tests/test_portfolio_catalog.py tests/test_portfolio_security_gate.py tests/test_portfolio_truth.py -q passed: 88 tests.

Shipped Summary

Fresh local truth resolves the decision queue to zero and keeps default attention bounded to active product/infra only.

Next Phase

Merge this catalog repair, then rerun the next weekly portfolio review against the fresh truth snapshot. Main dependency: keep GHAS overlay generation in the weekly path so the security gate does not fall back to unknown.

Remaining Roadmap

  • Keep Fable campaign folders out of weekly default attention unless a publish/park/archive decision appears.
  • Keep Signal & Noise tracked as maintained product work through its canonical catalog entry, with normal product/release evidence when it changes.

@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: 8bed53666a

ℹ️ 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 thread config/portfolio-catalog.yaml Outdated
@saagpatel saagpatel merged commit 49af08b into main Jul 7, 2026
4 checks passed
@saagpatel saagpatel deleted the codex/resolve-portfolio-queue-20260707 branch July 7, 2026 07:51
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