Skip to content

refactor(id): require canonical decimal request IDs - #804

Merged
behinddwalls merged 2 commits into
mainfrom
mnoah1/remove-legacy-id-comparison
Oct 7, 2026
Merged

behinddwalls merged 2 commits into
mainfrom
mnoah1/remove-legacy-id-comparison

Conversation

@mnoah1

@mnoah1 mnoah1 commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

The decimal-ID rollout is complete, so the temporary comparison workaround from #778 can be retired. Resource-ID comparisons now accept only canonical positive decimal IDs, compare them numerically, and reject legacy prefixed IDs.

Updates the comparison contracts and regression tests to cover legacy-ID rejection, including ingestion without publication and bookmark updates.

Validation

  • Nine affected Bazel test targets passed.
  • make lint, make check-tidy, make check-gazelle, and git diff --check passed.
  • aifx verify passed review and artifact checks; generic Go lint failed without reporting issues, and coverage could not run because it expects a monorepo .arcconfig file.

Generated by the 🪄 pr-create skill in devexp-agent-marketplace

Summary:
Intent:
- Retire the temporary ID comparison workaround from #778 now that the decimal-ID rollout is complete.

Changes:
- Compare resource IDs numerically using only canonical positive decimal IDs; reject legacy prefixed IDs.
- Update the comparison contracts and replace rollout compatibility tests with rejection coverage, including ingestion and bookmark behavior.

---

<sub>Generated by the 🪄 [pr-create](https://sg.uberinternal.com/code.uber.internal/uber-code/devexp-agent-marketplace/-/blob/claude-code/plugins/dev/uber-dev/skills/pr-create/SKILL.md) skill in devexp-agent-marketplace</sub>
@mnoah1
mnoah1 marked this pull request as ready for review October 7, 2026 18:49
@mnoah1
mnoah1 requested review from a team, behinddwalls and sbalabanov as code owners October 7, 2026 18:49
@behinddwalls
behinddwalls added this pull request to the merge queue Oct 7, 2026
Merged via the queue into main with commit d9e69fd Oct 7, 2026
16 checks passed
@behinddwalls
behinddwalls deleted the mnoah1/remove-legacy-id-comparison branch October 7, 2026 21:45
behinddwalls added a commit that referenced this pull request Oct 8, 2026
…n's design

## Summary

### Why?

Recent sessions kept getting the same review corrections: speculative packages and adapters, homegrown wrappers, host code in the library, framework layouts, non-Bazel tooling, re-encoded IDs, internal names in a public repo, separate CI workflows, and RFCs that describe discussion rather than main. Autoreview also never ran its architecture or correctness lenses on TypeScript, because `.ts`/`.tsx` files classified as `other`. One such RFC already exists: queue-scoped decimal IDs shipped (#770, #804), but the decision still lived in a standalone "current vs proposed" RFC.

### What?

- `AGENTS.md`: new **Design Defaults** section, aligned with the web UI RFC (#810); CI credential and workflow rules; naming, RFCs-describe-main, and concise-docs bullets; ask before splitting a large change into a stack; local run steps in the Test Plan.
- Autoreview `review-scope.py`: new `web` kind (`.ts`, `.tsx`, `.js`, `.css`; `*.test.*` as tests), and `internal-reference` and `new-workflow` smells.
- Autoreview `review.md` / `lenses.md`: route `web` to all code lenses; treat unneeded added surface as should-fix; add checks for each design default and for RFCs that diverge from main; sweep commit messages for internal names; skip data-migration findings for OSS deployments.
- RFCs: add a **Resource IDs** section to `doc/rfc/submitqueue/workflow.md`, delete `doc/rfc/scoped-resource-ids.md` and its index entry, and fix stale ID text in the history, list, and Stovepipe workflow RFCs.

## Test Plan

✅ `bazel test //.agents/skills/autoreview/scripts:all`
✅ `bazel test //tool/docsite:site_test` (strict link check)
✅ `make fmt` leaves the tree unchanged
behinddwalls added a commit that referenced this pull request Oct 8, 2026
…n's design

## Summary

### Why?

Recent sessions kept getting the same review corrections: speculative packages and adapters, homegrown wrappers, host code in the library, framework layouts, non-Bazel tooling, re-encoded IDs, internal names in a public repo, separate CI workflows, and RFCs that describe discussion rather than main. Autoreview also never ran its architecture or correctness lenses on TypeScript, because `.ts`/`.tsx` files classified as `other`. One such RFC already exists: queue-scoped decimal IDs shipped (#770, #804), but the decision still lived in a standalone "current vs proposed" RFC.

### What?

- `AGENTS.md`: new **Design Defaults** section, aligned with the web UI RFC (#810); CI credential and workflow rules; naming, RFCs-describe-main, and concise-docs bullets; ask before splitting a large change into a stack; local run steps in the Test Plan.
- Autoreview `review-scope.py`: new `web` kind (`.ts`, `.tsx`, `.js`, `.css`; `*.test.*` as tests), and `internal-reference` and `new-workflow` smells.
- Autoreview `review.md` / `lenses.md`: route `web` to all code lenses; treat unneeded added surface as should-fix; add checks for each design default and for RFCs that diverge from main; sweep commit messages for internal names; skip data-migration findings for OSS deployments.
- RFCs: add a **Resource IDs** section to `doc/rfc/submitqueue/workflow.md`, delete `doc/rfc/scoped-resource-ids.md` and its index entry, fix stale ID text in the history and Stovepipe workflow RFCs, delete the superseded SubmitQueue `list-api.md` proposal (shipped as `status-list-api.md`), and describe the implemented Stovepipe List API as current rather than proposed.

## Test Plan

✅ `bazel test //.agents/skills/autoreview/scripts:all`
✅ `bazel test //tool/docsite:site_test` (strict link check)
✅ `make fmt` leaves the tree unchanged
behinddwalls added a commit that referenced this pull request Oct 8, 2026
…n's design

## Summary

### Why?

Recent sessions kept getting the same review corrections: speculative packages and adapters, homegrown wrappers, host code in the library, framework layouts, non-Bazel tooling, re-encoded IDs, internal names in a public repo, separate CI workflows, and RFCs that describe discussion rather than main. Autoreview also never ran its architecture or correctness lenses on TypeScript, because `.ts`/`.tsx` files classified as `other`. One such RFC already exists: queue-scoped decimal IDs shipped (#770, #804), but the decision still lived in a standalone "current vs proposed" RFC.

### What?

- `AGENTS.md`: new **Design Defaults** section, aligned with the web UI RFC (#810); CI credential and workflow rules; naming, RFCs-describe-main, and concise-docs bullets; ask before splitting a large change into a stack; local run steps in the Test Plan.
- Autoreview `review-scope.py`: new `web` kind (`.ts`, `.tsx`, `.js`, `.css`; `*.test.*` as tests), and `internal-reference` and `new-workflow` smells.
- Autoreview `review.md` / `lenses.md`: route `web` to all code lenses; treat unneeded added surface as should-fix; add checks for each design default and for RFCs that diverge from main; sweep commit messages for internal names; skip data-migration findings for OSS deployments.
- RFCs: add a **Resource IDs** section to `doc/rfc/submitqueue/workflow.md`, delete `doc/rfc/scoped-resource-ids.md` and its index entry, fix stale ID text in the history and Stovepipe workflow RFCs, delete the superseded SubmitQueue `list-api.md` proposal (shipped as `status-list-api.md`), and describe the implemented Stovepipe List API as current rather than proposed.

## Test Plan

✅ `bazel test //.agents/skills/autoreview/scripts:all`
✅ `bazel test //tool/docsite:site_test` (strict link check)
✅ `make fmt` leaves the tree unchanged
behinddwalls added a commit that referenced this pull request Oct 8, 2026
…n's design

## Summary

### Why?

Recent sessions kept getting the same review corrections: speculative packages and adapters, homegrown wrappers, host code in the library, framework layouts, non-Bazel tooling, re-encoded IDs, internal names in a public repo, separate CI workflows, and RFCs that describe discussion rather than main. Autoreview also never ran its architecture or correctness lenses on TypeScript, because `.ts`/`.tsx` files classified as `other`. One such RFC already exists: queue-scoped decimal IDs shipped (#770, #804), but the decision still lived in a standalone "current vs proposed" RFC.

### What?

- `AGENTS.md`: new **Design Defaults** section, aligned with the web UI RFC (#810); CI credential and workflow rules; naming, RFCs-describe-main, and concise-docs bullets; ask before splitting a large change into a stack; local run steps in the Test Plan.
- Autoreview `review-scope.py`: new `web` kind (`.ts`, `.tsx`, `.js`, `.css`; `*.test.*` as tests), and `internal-reference` and `new-workflow` smells.
- Autoreview dispatch: the parent runs a planner, one lens reviewer per assignment in parallel, and a consolidator, because subagents cannot start their own. Committed targets are reviewed in a clean detached worktree so local edits never skip checks, and every readable changed file must appear in some reviewer's Read list or the report marks it unreviewed.
- Autoreview `review.md` / `lenses.md`: route `web` to all code lenses; treat unneeded added surface as should-fix; add checks for each design default and for RFCs that diverge from main; sweep commit messages for internal names; skip data-migration findings for OSS deployments.
- RFCs: add a **Resource IDs** section to `doc/rfc/submitqueue/workflow.md`, delete `doc/rfc/scoped-resource-ids.md` and its index entry, fix stale ID text in the history and Stovepipe workflow RFCs, delete the superseded SubmitQueue `list-api.md` proposal (shipped as `status-list-api.md`), and describe the implemented Stovepipe List API as current rather than proposed.

## Test Plan

✅ `bazel test //.agents/skills/autoreview/scripts:all`
✅ `bazel test //tool/docsite:site_test` (strict link check)
✅ `make fmt` leaves the tree unchanged
behinddwalls added a commit that referenced this pull request Oct 8, 2026
…n's design

## Summary

### Why?

Recent sessions kept getting the same review corrections: speculative packages and adapters, homegrown wrappers, host code in the library, framework layouts, non-Bazel tooling, re-encoded IDs, internal names in a public repo, separate CI workflows, and RFCs that describe discussion rather than main. Autoreview also never ran its architecture or correctness lenses on TypeScript, because `.ts`/`.tsx` files classified as `other`. One such RFC already exists: queue-scoped decimal IDs shipped (#770, #804), but the decision still lived in a standalone "current vs proposed" RFC.

### What?

- `AGENTS.md`: new **Design Defaults** section, aligned with the web UI RFC (#810); CI credential and workflow rules; naming, RFCs-describe-main, and concise-docs bullets; ask before splitting a large change into a stack; local run steps in the Test Plan.
- Autoreview `review-scope.py`: new `web` kind (`.ts`, `.tsx`, `.js`, `.css`; `*.test.*` as tests), and `internal-reference` and `new-workflow` smells.
- Autoreview dispatch: the parent runs a planner, one lens reviewer per assignment in parallel, and a consolidator, because subagents cannot start their own. Committed targets are reviewed in a clean detached worktree so local edits never skip checks, and every readable changed file must appear in some reviewer's Read list or the report marks it unreviewed.
- Autoreview `review.md` / `lenses.md`: route `web` to all code lenses; treat unneeded added surface as should-fix; add checks for each design default and for RFCs that diverge from main; sweep commit messages for internal names; skip data-migration findings for OSS deployments.
- RFCs: add a **Resource IDs** section to `doc/rfc/submitqueue/workflow.md`, delete `doc/rfc/scoped-resource-ids.md` and its index entry, fix stale ID text in the history and Stovepipe workflow RFCs, delete the superseded SubmitQueue `list-api.md` proposal (shipped as `status-list-api.md`), and describe the implemented Stovepipe List API as current rather than proposed.

## Test Plan

✅ `bazel test //.agents/skills/autoreview/scripts:all`
✅ `bazel test //tool/docsite:site_test` (strict link check)
✅ `make fmt` leaves the tree unchanged
behinddwalls added a commit that referenced this pull request Oct 8, 2026
…n's design

## Summary

### Why?

Recent sessions kept getting the same review corrections: speculative packages and adapters, homegrown wrappers, host code in the library, framework layouts, non-Bazel tooling, re-encoded IDs, internal names in a public repo, separate CI workflows, and RFCs that describe discussion rather than main. Autoreview also never ran its architecture or correctness lenses on TypeScript, because `.ts`/`.tsx` files classified as `other`. One such RFC already exists: queue-scoped decimal IDs shipped (#770, #804), but the decision still lived in a standalone "current vs proposed" RFC.

### What?

- `AGENTS.md`: new **Design Defaults** section, aligned with the web UI RFC (#810); CI credential and workflow rules; naming, RFCs-describe-main, and concise-docs bullets; ask before splitting a large change into a stack; local run steps in the Test Plan.
- Autoreview `review-scope.py`: new `web` kind (`.ts`, `.tsx`, `.js`, `.css`; `*.test.*` as tests), and `internal-reference` and `new-workflow` smells.
- Autoreview dispatch: the parent runs a planner, one lens reviewer per assignment in parallel, and a consolidator, because subagents cannot start their own. Committed targets are reviewed in a clean detached worktree so local edits never skip checks, and every readable changed file must appear in some reviewer's Read list or the report marks it unreviewed. Coverage is counted from Read/Partial/Unread buckets rather than judged, and every finding must be re-opened at its cited line before it is admitted, with a recheck log in the report.
- Autoreview `review.md` / `lenses.md`: route `web` to all code lenses; treat unneeded added surface as should-fix; add checks for each design default and for RFCs that diverge from main; sweep commit messages for internal names; skip data-migration findings for OSS deployments.
- RFCs: add a **Resource IDs** section to `doc/rfc/submitqueue/workflow.md`, delete `doc/rfc/scoped-resource-ids.md` and its index entry, fix stale ID text in the history and Stovepipe workflow RFCs, delete the superseded SubmitQueue `list-api.md` proposal (shipped as `status-list-api.md`), and describe the implemented Stovepipe List API as current rather than proposed.

## Test Plan

✅ `bazel test //.agents/skills/autoreview/scripts:all`
✅ `bazel test //tool/docsite:site_test` (strict link check)
✅ `make fmt` leaves the tree unchanged

This branch was previously deployed

1 inactive deployment
stack-rebase — d2b4baea Deployed Oct 7, 2026 by behinddwalls via Rebase Stack #585
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