Skip to content

Claude/dev hub phase 2 plan - #2292

Open
BigSimmo wants to merge 20 commits into
mainfrom
claude/dev-hub-phase-2-plan
Open

Claude/dev hub phase 2 plan#2292
BigSimmo wants to merge 20 commits into
mainfrom
claude/dev-hub-phase-2-plan

Conversation

@BigSimmo

@BigSimmo BigSimmo commented Aug 22, 2026

Copy link
Copy Markdown
Owner

Summary

  • Developer Hub Phase 2 plan, including the repository-awareness snapshot generator and panel foundations.
  • P2 review fixes: preserve the existing external-URL exclusion and fail closed if a non-ignored untracked Markdown document would be omitted from a generated snapshot. Ignored scratch notes remain excluded.

Verification

  • Focused repository-awareness tests: 31/31 passed.
  • tsc -p tsconfig.typecheck.json --noEmit
  • Prettier check for the changed generator and tests.
  • git diff --check
  • Verification not run: the full npm run verify:pr-local preflight; final-head CI is pending. The coordinated typecheck wrapper was interrupted by the local execution environment, but the underlying compiler completed successfully.

Risk and rollout

  • Risk: docs:update/snapshot generation now stops rather than silently omitting a non-ignored untracked Markdown file; stage intended documents or add personal scratch notes to .gitignore.
  • Rollback: revert the fail-closed guard and its focused tests.
  • Provider or production effects: None.
  • RAG impact: none — developer tooling only.

Clinical Governance Preflight

  • Not applicable: this change does not touch ingestion, answer generation, retrieval/ranking, source rendering, document access, privacy, production environment, or clinical output.

Notes

  • Current head merges main at 62cfcab483077d437a513b33eec87272852fa197; CI remains to be evaluated for this final head.

BigSimmo and others added 4 commits August 22, 2026 19:08
…implementation plan

The owner decided the "Work in flight" panel is re-scoped to "Review state"
and stays on the repository's own review records, so the spec's one open
question is closed and the phase can be planned.

The plan covers thirteen tasks: one build-time generator over four sources the
repo already keeps, one staleness gate, a typed reader, four Server Component
routes, and the registry flip. Three rulings narrow the spec's data contract —
orphan routes, broken links and document age are all dropped, because a green
gate already guarantees the first two and the third needs mechanism it cannot
justify.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your current included review allowance is based on your included PR review attempts over the past 7 days.

Next review available in: 1 minute

Limit details: You’ve used the included review currently available. Your 90 included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab.

How can I continue?

Wait for the limit to reset, then comment @coderabbitai review or push new commits to the PR.

An organization admin can change what happens after included review limits in Billing.

How do review limits work?

CodeRabbit enforces per-developer PR review limits within each organization.

For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 536ea4b3-717f-421e-b843-3ed074375291

📥 Commits

Reviewing files that changed from the base of the PR and between 62cfcab and 60ef8b9.

📒 Files selected for processing (14)
  • docs/branch-review-records/9e74aa49d3e5b822a78bf81bcc90837d009fb026f0b49ded2b7cde9358f311c8.record.md
  • docs/scripts-index.md
  • docs/superpowers/plans/2026-08-22-developer-hub-phase-2-HANDOFF.md
  • docs/superpowers/plans/2026-08-22-developer-hub-phase-2.md
  • docs/superpowers/specs/2026-08-22-developer-hub-phase-2-design.md
  • scripts/generate-repo-awareness-snapshot.ts
  • src/app/mockups/development/ledger/page.tsx
  • src/components/developer-area/hub/freshness-stamp.tsx
  • src/components/developer-area/hub/panel-page-shell.tsx
  • src/lib/developer-area/freshness.ts
  • src/lib/developer-area/ledger-snapshot.ts
  • src/lib/developer-area/repo-awareness-types.ts
  • tests/developer-panel-page-shell.dom.test.tsx
  • tests/repo-awareness-generator.test.ts

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

@BigSimmo
BigSimmo marked this pull request as draft August 22, 2026 14:25
@supabase

supabase Bot commented Aug 22, 2026

Copy link
Copy Markdown

This pull request has been ignored for the connected project sjrfecxgysukkwxsowpy because there are no changes detected in supabase directory. You can change this behaviour in Project Integrations Settings ↗︎.


Preview Branches by Supabase.
Learn more about Supabase Branching ↗︎.

@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: 643fbae2e1

ℹ️ 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 scripts/generate-repo-awareness-snapshot.ts Outdated
BigSimmo and others added 12 commits August 22, 2026 23:42
…ot recur

Two of the three findings in Task 3's review came from this plan's code snippet
rather than from the implementation, so fixing only the shipped code would have
left the plan able to reintroduce both on any re-run.

The external-URL test asserted something true for the wrong reason: deleting the
guard it claimed to prove left it green, because path.posix.join never collapses
a scheme and host down to a same-named relative path. It is replaced by a test
that does go red without the fix, plus a positive case so the fix cannot be made
by disabling the prose scan.

catalogueTargets now strips absolute URLs before either scan, which is what
makes its docstring true for both of them rather than only the link loop.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The re-review found the docstring claimed "absolute URLs are stripped" while
the pattern matches http(s) schemes only. That is the same doc-overstates-code
mismatch that produced the original defect, in miniature, so it is corrected
rather than left as a Minor.

The two forms genuinely not covered are now named — a protocol-relative URL in
bare prose, and an https URL wrapped across two lines — along with why widening
the pattern to a bare // was rejected: it would strip the // of a comment inside
a fenced code block, failing in the worse direction by hiding a document the
index really does list.

Comment-only; no executable line changed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
… when the flake ledger is malformed

The expiry test asserted `not.toHaveProperty("expired")`, which pins one
spelling rather than the rule: adding `isExpired` or `lapsed` would break
byte-determinism identically and sail straight past it. It was caught only
incidentally, by a toEqual in a different test, and a rule enforced by accident
is not enforced. It now asserts the complete key set.

Proven by mutation rather than assumed: adding `isExpired: false` to the emitted
object turns it red (2 failed | 18 passed), and removing it turns it green
(20 passed).

readFlakeLedger cast JSON.parse straight to its type, so a corrupt ledger
surfaced as a bare SyntaxError, or as a missing `flakes` key that would have
rendered a silently empty panel — the under-reporting failure this feature
exists to prevent. It now throws naming the path it was actually given.

Two comments corrected: id-uniqueness is enforced in scripts/flake-ledger.mjs,
not here, and the missing-field message no longer names a file the caller may
not have passed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
… drop an assertion I got wrong

The sort comment claimed a total order that the real corpus contradicts: 21
records share a date, ref and head, because one branch can be reviewed twice at
one commit under different scopes. Scope is now a fourth key, and the comment
states what actually carries determinism — a filename-sorted input and a stable
sort — rather than claiming the comparator does it alone.

Task 12's React key was heading for the same trap, identifying a row by fields
that are only incidentally unique. It now carries the index.

The corpus test gains power over scope and outcome, which it previously never
referenced at all.

Removed: an assertion I specified that refs never contain a space. The
implementer refused it with evidence and was right — 106 of the 454 refs
legitimately contain spaces, in forms like 'PR #1888 (claude/...)'. I verified
that against the corpus before accepting the refusal. The reasoning is recorded
in the plan so the idea is not retried.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Tasks 1-5 complete the data layer bar its assembly, so this is a clean stopping
point with nothing half-built.

The session ledger, briefs and reviewer reports are deliberately git-ignored, so
a fresh session would not see them. This file carries what a resuming session
actually needs: where the work is, what landed with which commits, the five
rulings that must not be re-opened, and the traps this branch has already paid
for — including that a subagent's background work dies with its turn, that eight
assertions on this programme turned out to assert nothing, and that an
implementer refusing a controller instruction with evidence was right to.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Prettier renumbered the ordered list and relabelled Task 13 as 10, which would
have sent a resuming session to the wrong step. Moved to a table, which carries
its own numbers.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The batched lint covering Tasks 4 and 5 never got a turn on the run coordinator
before this session ended. It is unrun, not known-failing, and lint is the gate
that caught this branch's only Critical finding — so a resuming session must not
read green tests and typecheck as evidence the diff is clean.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The lint covering Tasks 4 and 5 got its turn and passed with no findings, so the
handoff no longer carries an unrun gate. Task 6 is a clean start.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@BigSimmo
BigSimmo marked this pull request as ready for review August 22, 2026 19:01

@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: 30e3f08449

ℹ️ 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 scripts/generate-repo-awareness-snapshot.ts Outdated
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