Skip to content

refactor(design-docs): dissolve transitional product/ into ui/ — native-family sweep (RIG-3113) - #832

Open
rigel-mintaka wants to merge 2 commits into
mainfrom
compass-repo/rig-3113-t10-native-sweep
Open

refactor(design-docs): dissolve transitional product/ into ui/ — native-family sweep (RIG-3113)#832
rigel-mintaka wants to merge 2 commits into
mainfrom
compass-repo/rig-3113-t10-native-sweep

Conversation

@rigel-mintaka

Copy link
Copy Markdown
Contributor

The final task (T10) of the RIG-2577 design-docs reorg. T8 dissolved product/ into agent//server//ui//meta/ but left the native-app family under the transitional product/ governed root while RIG-2542's client-only direction settled. RIG-2542 is closed (Done, 2026-08-23) and T8/T9 have merged (#825), so this empties and removes product/.

What moved

The 8 remaining records product/ui/ (all UI/native-shell surface):

  • compass-native-app/, compass-native-client-mode/, compass-native-client-only/, compass-native-packaging/
  • compass-multi-window/, compass-stack-cross-process-teardown/, compass-gtk4-migration/
  • compass-tauri-shell.md (stays flat at the ui/ root; the corpus's only supersession pointer)

Re-points (same PR, per CONTRIBUTING §"Moving a record is not a freeze violation")

  • Ledger: 18 DECISIONS.md Record cells product/<r>ui/<r>.
  • Supersession pointer: compass-tauri-shell.md's Status: Superseded by compass-native-app/design.md is already the final same-bucket record-relative form; verified it resolves under the generalized resolveRecordRelative (no ../ escape) now that both endpoints sit in ui/.
  • Cross-bucket citations to the 8: infra/ci/compass-agent-image-publish, infra/ci/compass-dogfood-e2e, infra/release/compass-release-bundling, infra/release/compass-distribution, infra/runtime/compass-runner-arbitrary-uid, plus the two moved records' own self/sibling citations.
  • Code/config: go/e2e/client_mode_test.go, tools/renovate/config.json5.

De-govern + delete

  • Removed "product" from GOVERNED_ROOTS in tools/design-ledger-gate/index.ts (now [ui, agent, server, meta, infra, observability, repo]) and updated its doc comment.
  • Deleted the now-empty docs/designs/product/ directory.
  • Dropped CONTRIBUTING §6's product/ is transitional subsection and the "plus the transitional product/ root" clause; the transitional state is over.
  • Updated the gate's own test fixtures (index.test.ts) that used product/ as a governed-bucket stand-in to ui/ (a de-governed bucket would flip their touchesRecord(...).toBe(true) assertions).

Verification

  • design-ledger-gate: OK — 284 ledger rows, 120 record headers valid, exit 0.
  • Gate test suite: 81 pass / 0 fail.
  • eng-docs gather: 187 docs + index + sidebar, exit 0.
  • Relative .md link resolution across all 135 design records: 0 dangling.
  • The ~108 remaining docs/designs/product/... mentions are pre-existing historical prose in frozen records (old product/DECISIONS.md ledger path relocated at T2, deleted compass-0.x version records, the old PRODUCT_DIR gate constant, and the separate docs/specs/product/ tree) — none reference a moved record, and rewriting frozen records' decision prose is out of scope.

Coordination note

Two open draft PRs add new NON-native records into product/ against the pre-T8 flat taxonomy: #601 (compass-forge-scope-enforcement → belongs in server/) and #662 (compass-first-run-tour → belongs in ui/). Both must re-point their record to the correct bucket before merge (mis-filed against the dissolved taxonomy regardless). Flagged on both PRs.

Refs RIG-3113. Refs RIG-2577.
Ledger-impact: 18 Record-cell path re-points (product/ → ui/); no decision rows added, flipped, or removed.
Spec-impact: none.

Co-authored-by: Matt Wilkinson matt@rigel.build

@linear-code

linear-code Bot commented Sep 1, 2026

Copy link
Copy Markdown

RIG-3113

RIG-2577

@trunk-io

trunk-io Bot commented Sep 1, 2026

Copy link
Copy Markdown

Merging to main in this repository is managed by Trunk.

  • To merge this pull request, check the box to the left or comment /trunk merge below.

After your PR is submitted to the merge queue, this comment will be automatically updated with its status. If the PR fails, failure details will also be posted here

rigel-mintaka and others added 2 commits September 1, 2026 01:18
…ve-family sweep (RIG-3113)

The final task (T10) of the RIG-2577 design-docs reorg. T8 dissolved `product/` into `agent/`/`server/`/`ui/`/`meta/` but left the native-app family under the transitional `product/` governed root while RIG-2542's client-only direction settled. RIG-2542 is closed (Done, 2026-08-23) and T8/T9 have merged (#825), so this empties and removes `product/`.

## What moved

The 8 remaining records `product/` → `ui/` (all UI/native-shell surface):

- `compass-native-app/`, `compass-native-client-mode/`, `compass-native-client-only/`, `compass-native-packaging/`
- `compass-multi-window/`, `compass-stack-cross-process-teardown/`, `compass-gtk4-migration/`
- `compass-tauri-shell.md` (stays flat at the `ui/` root; the corpus's only supersession pointer)

## Re-points (same PR, per CONTRIBUTING §"Moving a record is not a freeze violation")

- **Ledger:** 18 `DECISIONS.md` Record cells `product/<r>` → `ui/<r>`.
- **Supersession pointer:** `compass-tauri-shell.md`'s `Status: Superseded by compass-native-app/design.md` is already the final same-bucket record-relative form; verified it resolves under the generalized `resolveRecordRelative` (no `../` escape) now that both endpoints sit in `ui/`.
- **Cross-bucket citations to the 8:** `infra/ci/compass-agent-image-publish`, `infra/ci/compass-dogfood-e2e`, `infra/release/compass-release-bundling`, `infra/release/compass-distribution`, `infra/runtime/compass-runner-arbitrary-uid`, plus the two moved records' own self/sibling citations.
- **Code/config:** `go/e2e/client_mode_test.go`, `tools/renovate/config.json5`.

## De-govern + delete

- Removed `"product"` from `GOVERNED_ROOTS` in `tools/design-ledger-gate/index.ts` (now `[ui, agent, server, meta, infra, observability, repo]`) and updated its doc comment.
- Deleted the now-empty `docs/designs/product/` directory.
- Dropped CONTRIBUTING §6's `product/ is transitional` subsection and the "plus the transitional `product/` root" clause; the transitional state is over.
- Updated the gate's own test fixtures (`index.test.ts`) that used `product/` as a governed-bucket stand-in to `ui/` (a de-governed bucket would flip their `touchesRecord(...).toBe(true)` assertions).

## Verification

- `design-ledger-gate`: OK — 284 ledger rows, 120 record headers valid, exit 0.
- Gate test suite: 81 pass / 0 fail.
- eng-docs `gather`: 187 docs + index + sidebar, exit 0.
- Relative `.md` link resolution across all 135 design records: 0 dangling.
- The ~108 remaining `docs/designs/product/...` mentions are pre-existing historical prose in frozen records (old `product/DECISIONS.md` ledger path relocated at T2, deleted `compass-0.x` version records, the old `PRODUCT_DIR` gate constant, and the separate `docs/specs/product/` tree) — none reference a moved record, and rewriting frozen records' decision prose is out of scope.

## Coordination note

Two open draft PRs add new NON-native records into `product/` against the pre-T8 flat taxonomy: #601 (`compass-forge-scope-enforcement` → belongs in `server/`) and #662 (`compass-first-run-tour` → belongs in `ui/`). Both must re-point their record to the correct bucket before merge (mis-filed against the dissolved taxonomy regardless). Flagged on both PRs.

Refs RIG-3113. Refs RIG-2577.
Ledger-impact: 18 Record-cell path re-points (product/ → ui/); no decision rows added, flipped, or removed.
Spec-impact: none.

Co-authored-by: Matt Wilkinson <matt@rigel.build>
…113)

Two backtick-code-span path citations left dangling by the product/->ui/ sweep, both on lines the T10 PR edited:

- infra/ci/compass-dogfood-e2e:50 and ui/compass-native-client-mode:744 — the sweep over-reached into out-of-scope old-ledger-path prose and rewrote it to a nonexistent docs/designs/ui/DECISIONS.md (there is no per-bucket ledger; the single ledger is docs/designs/DECISIONS.md). Reverted both to the frozen base value docs/designs/product/DECISIONS.md to match the untouched sibling records.
- infra/release/compass-distribution:75 — a cross-bucket citation to the moved compass-native-client-only record had a wrong relative depth (../../ui/ resolves to infra/ui/, which does not exist). Corrected to ../../../ui/ so it resolves to docs/designs/ui/compass-native-client-only/design.md.

Co-authored-by: Matt Wilkinson <matt@rigel.build>

Refs RIG-3113
@rigel-mintaka
rigel-mintaka force-pushed the compass-repo/rig-3113-t10-native-sweep branch from d565a01 to e235a1b Compare September 1, 2026 05:21
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