Skip to content

Add scoping to ProjectStatus; exploring rollup picks it up - #17

Merged
ProfessorPolymorphic merged 1 commit into
mainfrom
add-scoping-to-projectstatus
Jul 27, 2026
Merged

Add scoping to ProjectStatus; exploring rollup picks it up#17
ProfessorPolymorphic merged 1 commit into
mainfrom
add-scoping-to-projectstatus

Conversation

@ProfessorPolymorphic

Copy link
Copy Markdown
Contributor

Mirrors the 2026-07-24 amendment to ADR 0001 in ui-insight/AISPEG. That amendment named this exact follow-up — "add scoping to the vendored iids-portfolio ProjectStatus vocabulary upstream" — and it was never done. A documentation audit of the AISPEG repo surfaced it: one portfolio project currently claims scoping, a code this registry doesn't know about.

Worth noting it would not have been caught automatically. The governance drift CI doesn't run on lib/portfolio.ts changes, so the typed union and this vocabulary can diverge silently.

The gap being closed

The ladder jumped from idea (no committed owner/sponsor) straight to approved (a go decision made). Nothing sat between them for a project with named humans engaged and feasibility work underway but no formal approval — the state the portfolio owner declined to call approved for the Financial Planning Suite (Axiom replacement), and the state the Unified Technology Request process names explicitly as Track C's "Feasibility & scoping" stage.

Changes

  • scoping at Display_Order 2, between idea and approved; following entries renumber 3→12.
  • Exploring rollup rule now reads idea, scoping, approved. No new PublicStage value — the stakeholder-facing signal "not yet being built" is unchanged.
  • idea sharpened. Its rule read "No committed operationalOwner OR no committed iidsSponsor", which with scoping in place would let a project with exactly one of the two satisfy both codes. lib/portfolio-verification.ts treats neither as idea and either as scoping; the vocabulary now says the same.

Verification rules were transcribed from the verifier rather than paraphrased, so the registry and the enforcing code read identically.

Version 2.1.0 → 2.2.0. Follows the paused precedent in #15.

After this merges

ui-insight/AISPEG needs a submodule pointer bump plus regenerated lib/governance/vocabularies.ts. That PR is prepared and waiting on this one.

🤖 Generated with Claude Code

Mirrors the 2026-07-24 amendment to ADR 0001 in ui-insight/AISPEG: the
ladder jumped from `idea` (no committed owner/sponsor) straight to
`approved` (a go decision made), with no honest rung for a project that
has named humans engaged and feasibility work underway but no formal
approval. That is the state the portfolio owner declined to call
`approved` for the Financial Planning Suite, and the state the Unified
Technology Request process names explicitly as Track C's "Feasibility &
scoping" stage.

`scoping` takes Display_Order 2, between idea and approved; the following
entries renumber. It rolls up to the existing `Exploring` public stage —
the stakeholder-facing signal "not yet being built" is unchanged — so
PublicStage gains no new value, only a corrected rollup rule.

Also sharpens `idea` now that scoping is first-class. Its rule read "no
committed operationalOwner OR no committed iidsSponsor", which with
scoping in place would let a project with one of the two engaged satisfy
both codes. The verifier (lib/portfolio-verification.ts) treats having
neither as idea and either one as scoping; the vocabulary now says the
same.

Verification rules transcribed from the verifier, not paraphrased.

Version 2.1.0 → 2.2.0. Follows the `paused` precedent in #15.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@ProfessorPolymorphic
ProfessorPolymorphic merged commit d3ce81b into main Jul 27, 2026
1 check passed
@ProfessorPolymorphic
ProfessorPolymorphic deleted the add-scoping-to-projectstatus branch July 27, 2026 12:58
ProfessorPolymorphic added a commit to ui-insight/AISPEG that referenced this pull request Jul 27, 2026
… decided (#318)

* Bump data-governance: `scoping` lands in the ProjectStatus vocabulary

Closes the follow-up ADR 0001's 2026-07-24 amendment named and never
did: the vendored iids-portfolio ProjectStatus vocabulary did not list
`scoping`, while lib/portfolio.ts has used it since July and one project
currently claims it.

Nothing would have caught this. The governance drift workflow does not
run on lib/portfolio.ts changes, so the typed union and the vendored
registry can diverge in silence — which is the failure mode the catalog
exists to prevent.

Upstream ui-insight/data-governance#17 adds `scoping` at Display_Order 2
between idea and approved, corrects the Exploring rollup to include it,
and sharpens `idea` (which read "no owner OR no sponsor" and would now
overlap scoping — the verifier means neither). This bumps the submodule
pointer and regenerates the typed catalog from it.

Regenerated, not hand-edited, per Agent Rule 13.

npm run build, npm run lint, and npm run verify:portfolio all pass
(29 projects, 0 errors, 2 pre-existing stale-commit-date warnings).

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

* Scope ADR 0005's status to what was actually decided

The header read `Proposed` / `Deciders: Pending` three days after Phase 1
shipped, so the index was telling readers that a decision embodied in
live tables, live code, and a public surface had not been made yet.

The fix is not a flat flip to Accepted. This ADR does two different
things: it designs a registry this repo owns and can build alone, and it
proposes a division of institutional labour that binds other offices —
TDX as the workflow system of record, a shared prioritization model,
OIT's ownership of the approved-tools list. The first was decided and
built. The second is still a proposal, and nothing in this repo can
accept it on the working group's behalf. Marking the whole ADR Accepted
would assert a ratification that hasn't happened, in the audit trail
itself.

So the status is split, with a dated amendment recording the split
(append-only, per this directory's own lifecycle rules) and an inventory
of what exists: Phase 1's five tables plus lib/utr.ts, lib/requests.ts,
Migration 019's survey candidates, and /portfolio/pipeline are Accepted;
the TDX boundary, prioritization model, and approved-tools ownership stay
Proposed; Phases 2-4 are unbuilt, and the amendment names the specific
tables and modules that don't exist so the gap is checkable rather than
implied.

Deciders now names Barrie Robison for the part that was decided, rather
than "Pending".

The format section of docs/adr/README.md gains a line permitting a scoped
status for this case, since ADR 0005 is now the precedent — with the
constraint that a header must never imply a ratification that hasn't
happened.

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

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
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