Skip to content

Commit 7147e6b

Browse files
authored
chore: repair portfolio operating state (#63)
1 parent 75369b1 commit 7147e6b

6 files changed

Lines changed: 78 additions & 61 deletions

config/notion-project-map.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
"bridge-db": {
99
"localProjectId": "34cc21f1-caf0-81cd-9650-cf2253d7afd4"
1010
},
11+
"personal-ops": {
12+
"localProjectId": "35bc21f1-caf0-81cb-9426-dd264ef668b2"
13+
},
1114
"cross-system-smoke": {
1215
"localProjectId": "378c21f1-caf0-81ec-b2db-f8a73ab0fb28"
1316
},
@@ -17,6 +20,15 @@
1720
"PortfolioCommandCenter": {
1821
"localProjectId": "378c21f1-caf0-819a-86c3-c0c41d12eef3"
1922
},
23+
"GithubRepoAuditor": {
24+
"localProjectId": "377c21f1-caf0-817d-9d57-e59a673dd0b7"
25+
},
26+
"Grotto": {
27+
"localProjectId": "377c21f1-caf0-81d3-add8-f9f31584d5ae"
28+
},
29+
"Pressfield": {
30+
"localProjectId": "377c21f1-caf0-8175-8858-ee479b9ef673"
31+
},
2032
"CryptForge": {
2133
"localProjectId": "326c21f1-caf0-8169-a680-e1ef6f5157e7"
2234
},

config/portfolio-catalog.yaml

Lines changed: 45 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -87,17 +87,6 @@ repos:
8787
target_maturity: operating
8888
doctor_standard: full
8989
notes: Owns Raycast script commands, active-project verification routing, read-only ops snapshots, and mirrored Codex operating-layer prompt/eval snapshots for /Users/d.
90-
_machine/machine-control-tower/bin:
91-
owner: d
92-
purpose: nested command-bin folder under the machine control tower; not an independent portfolio project
93-
lifecycle_state: archived
94-
review_cadence: monthly
95-
intended_disposition: archive
96-
category: infrastructure
97-
tool_provenance: codex
98-
maturity_program: archive
99-
target_maturity: archived
100-
notes: Enrolled only to prevent the nested bin directory from being treated as a standalone decision-needed project.
10190
agent-bridge:
10291
owner: d
10392
purpose: local SQLite-backed MCP shared-state bus for coordinating coding agents
@@ -454,6 +443,20 @@ repos:
454443
target_maturity: operating
455444
automation_eligible: false
456445
notes: Use docs/CURRENT-STATE.md for dated release posture, but AGENTS.md is the current primary context contract required by portfolio truth.
446+
mcp-trust:
447+
owner: d
448+
purpose: neutral public trust registry and scan-backed grading surface for MCP servers
449+
lifecycle_state: active
450+
criticality: high
451+
review_cadence: weekly
452+
intended_disposition: maintain
453+
category: infrastructure
454+
tool_provenance: unknown
455+
maturity_program: maintain
456+
target_maturity: operating
457+
automation_eligible: false
458+
doctor_standard: basic
459+
notes: Fresh v0.1.0 Python/FastAPI/Typer repo with v1 launch runbook; public launch is gated on real catalog seeding, sandboxed engine scans, live deploy smoke, and outreach loop validation.
457460
ModelColosseum:
458461
owner: d
459462
lifecycle_state: active
@@ -550,10 +553,11 @@ repos:
550553
tool_provenance: claude-code
551554
GhostRoutes:
552555
owner: d
553-
lifecycle_state: active
554-
review_cadence: weekly
555-
intended_disposition: maintain
556+
lifecycle_state: archived
557+
review_cadence: quarterly
558+
intended_disposition: archive
556559
tool_provenance: claude-code
560+
notes: Archived from active operator attention on 2026-06-13 because the local git object database cannot read HEAD (`bad tree object HEAD`). Repair should be a deliberate reclone/reset lane, not an in-place portfolio audit mutation.
557561
Liminal:
558562
owner: d
559563
lifecycle_state: active
@@ -625,15 +629,6 @@ repos:
625629
intended_disposition: maintain
626630
category: fun
627631
tool_provenance: codex
628-
StatusPage:
629-
owner: d
630-
purpose: self-hosted status page with built-in monitoring and GitHub OAuth admin
631-
flow
632-
lifecycle_state: active
633-
review_cadence: monthly
634-
intended_disposition: maintain
635-
category: infrastructure
636-
tool_provenance: codex
637632
MoneyPRJsViaGPT/StatusPage:
638633
owner: d
639634
purpose: GPT-built StatusPage SaaS/beta variant kept as an archived reference
@@ -652,14 +647,6 @@ repos:
652647
intended_disposition: maintain
653648
category: it-work
654649
tool_provenance: codex
655-
ITPRJsViaClaude/IncidentWorkbench:
656-
owner: d
657-
purpose: earlier production-ready IT incident review workbench kept for reference
658-
lifecycle_state: maintenance
659-
review_cadence: quarterly
660-
intended_disposition: maintain
661-
category: it-work
662-
tool_provenance: unknown
663650
KBFreshnessDetector:
664651
owner: d
665652
lifecycle_state: maintenance
@@ -682,14 +669,6 @@ repos:
682669
intended_disposition: maintain
683670
category: fun
684671
tool_provenance: codex
685-
FunGamePrjs/OrbitForge:
686-
owner: d
687-
purpose: older build-ready staging copy of the OrbitForge gravity simulator
688-
lifecycle_state: dormant
689-
review_cadence: quarterly
690-
intended_disposition: archive
691-
category: fun
692-
tool_provenance: unknown
693672
PersonalKBDrafter:
694673
owner: d
695674
lifecycle_state: maintenance
@@ -824,13 +803,6 @@ repos:
824803
review_cadence: weekly
825804
intended_disposition: maintain
826805
category: fun
827-
ApplyKit-public:
828-
owner: d
829-
lifecycle_state: active
830-
review_cadence: weekly
831-
intended_disposition: maintain
832-
category: commercial
833-
tool_provenance: codex
834806
Grotto:
835807
owner: d
836808
lifecycle_state: active
@@ -887,6 +859,20 @@ repos:
887859
review_cadence: weekly
888860
intended_disposition: maintain
889861
category: infrastructure
862+
cross-provider-egress-guard:
863+
owner: d
864+
purpose: destination-aware egress-control hardening lane for Claude Code and Codex hook surfaces
865+
lifecycle_state: active
866+
criticality: high
867+
review_cadence: weekly
868+
intended_disposition: maintain
869+
category: infrastructure
870+
tool_provenance: claude-code
871+
maturity_program: maintain
872+
target_maturity: operating
873+
automation_eligible: false
874+
doctor_standard: basic
875+
notes: Lane is live end-to-end as of 2026-06-12; keep residual hardening, policy widening, and hook deployment under explicit operator review.
890876
da-scaffold:
891877
owner: d
892878
lifecycle_state: active
@@ -913,6 +899,19 @@ repos:
913899
maturity_program: experiment
914900
target_maturity: functional
915901
notes: Evidence/history-style docs; use only when a cross-system architecture or conformance decision is active.
902+
fable-outputs:
903+
owner: d
904+
purpose: time-boxed Fable-window artifact and campaign-output workspace
905+
lifecycle_state: experimental
906+
criticality: medium
907+
review_cadence: weekly
908+
intended_disposition: experiment
909+
category: infrastructure
910+
tool_provenance: claude-ai
911+
maturity_program: experiment
912+
target_maturity: functional
913+
automation_eligible: false
914+
notes: Active through the June 10-22, 2026 Fable window; staged harness/config changes are operator-installed only, then archive or park the campaign workspace after final index review.
916915
portfolio-index:
917916
owner: d
918917
purpose: public-safe static portfolio index for hiring-manager review
@@ -943,26 +942,12 @@ repos:
943942
review_cadence: monthly
944943
intended_disposition: maintain
945944
category: fun
946-
GithubRepoAuditor-public:
947-
owner: d
948-
lifecycle_state: active
949-
review_cadence: monthly
950-
intended_disposition: maintain
951-
category: infrastructure
952-
tool_provenance: codex
953945
LegalDocsReview:
954946
owner: d
955947
lifecycle_state: active
956948
review_cadence: monthly
957949
intended_disposition: maintain
958950
category: it-work
959-
PomGambler-prod:
960-
owner: d
961-
lifecycle_state: active
962-
review_cadence: monthly
963-
intended_disposition: maintain
964-
category: fun
965-
tool_provenance: codex
966951
Relay:
967952
owner: d
968953
lifecycle_state: active

config/project-registry-overrides.json

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,20 @@
3636
},
3737
"notion_projection_policy_schema_version": "notion_projection_policy.v1",
3838
"notion_title_aliases": {
39+
"DesktopTerrarium": "desktop_terrarium",
3940
"DesktopPEt-ready": "DesktopPEt",
4041
"EarthPulse-readiness": "EarthPulse",
42+
"FreelanceInvoice": "FreeLanceInvoice",
4143
"GithubRepoAuditor-public": "GithubRepoAuditor",
44+
"KBFreshness": "KBFreshnessDetector",
4245
"Notion Operating System": "Notion",
46+
"OrbitMechanics": "OrbitMechanic",
4347
"OrbitForge (staging)": "OrbitForge",
4448
"Personal Ops": "operator-os-docs",
45-
"PomGambler-prod": "PomGambler"
49+
"PhantomFrequencies": "Phantom Frequencies",
50+
"PomGambler-prod": "PomGambler",
51+
"seismoscope": "Seismoscope",
52+
"signal-noise": "Signal & Noise"
4653
},
4754
"notion_projection_only_rows": {
4855
"app": "local runtime/app shell placeholder; not a portfolio-truth repo",

docs/portfolio-context-contract.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ Accepted aliases include:
7777
- `Local Development`
7878
- `Commands`
7979
- `Quick Start`
80+
- `Quickstart`
8081
- `Build & Run`
8182
- `Getting Started`
8283
- `Usage`

src/portfolio_context_contract.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
"run instructions",
5555
"development commands",
5656
"quick start",
57+
"quickstart",
5758
"build run",
5859
"getting started",
5960
"usage",

tests/test_portfolio_context_contract.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,17 @@ def test_run_instructions_in_subsections_of_quick_start(tmp_path):
132132
assert result.run_instructions_present is True
133133

134134

135+
def test_run_instructions_match_quickstart_heading(tmp_path):
136+
_write(
137+
tmp_path,
138+
"README.md",
139+
"# Proj\n\nA tool that does a thing.\n\n"
140+
"## Quickstart\n\n```bash\nproj serve\n```\n",
141+
)
142+
result = analyze_project_context(tmp_path, ["README.md"])
143+
assert result.run_instructions_present is True
144+
145+
135146
def test_heading_containing_alias_term_matches(tmp_path):
136147
# "## Commands By Mode" contains the "commands" alias but is not an exact match.
137148
_write(

0 commit comments

Comments
 (0)