Skip to content

feat(roadmap): check a plan number against its constant - #4073

Merged
dan-petty merged 1 commit into
mainfrom
feat/3308-the-plan-check-compares-a-number
Nov 7, 2026
Merged

dan-petty merged 1 commit into
mainfrom
feat/3308-the-plan-check-compares-a-number

Conversation

@dan-petty

Copy link
Copy Markdown
Owner

A plan can put a number beside a constant name that is not the value in the staged tree. The plan of the pull request for #3200 gave a summary bound of 40 in a spec scenario, while SUMMARY_MAX_CHARS is 60 in src/devops_cli/roadmap/pull_form.py and STAGE_SUMMARY_MAX_CHARS is 47. The plan check accepted it. #3308 makes that number a claim that the check compares with the staged tree, and the plan stage prompt asks the model to cite the staged value first. A sentence that holds more than one number is ambiguous: it can show an example, a note or a second bound. The check skips it, so a valid plan is not refused. A constant name that the tree does not define is skipped too; the prompt rule asks the model to cite the existing constant instead of giving its bound a new name.

Closes #3308

Change: openspec/changes/archive/2026-11-07-3308-the-plan-check-compares-a-number/

@dan-petty dan-petty added type/feature New user-facing functionality or capability addition scope/roadmap The roadmap jobs: intake, refine, stage, implement and the Service that runs them labels Nov 7, 2026
@dan-petty
dan-petty force-pushed the feat/3308-the-plan-check-compares-a-number branch 2 times, most recently from 43b995e to 5b42b51 Compare November 7, 2026 21:02
Add constant checking to roadmap stage validation.

Read module-level integer constants from the staged repository
with Python AST. Compare candidate numbers in proposal, design,
and spec delta sentences with known staged constants. Refuse
proposals where the numbers differ. Record constants in stage
eval cases and pass them to the gates during replay.

Closes #3308
@dan-petty
dan-petty force-pushed the feat/3308-the-plan-check-compares-a-number branch from 5b42b51 to 3feccf2 Compare November 7, 2026 21:35
@dan-petty
dan-petty marked this pull request as ready for review November 7, 2026 21:44
@dan-petty
dan-petty merged commit 324a3a5 into main Nov 7, 2026
25 checks passed
@dan-petty
dan-petty deleted the feat/3308-the-plan-check-compares-a-number branch November 7, 2026 21:44
dan-petty pushed a commit that referenced this pull request Nov 7, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.84.0](v0.83.2...v0.84.0)
(2026-11-07)


### Features

* **k8s:** alert when Crawl4AI fetches fail
([#4037](#4037))
([49f0f14](49f0f14))
* **k8s:** run SearXNG in the devops namespace
([#4033](#4033))
([9d223f4](9d223f4)),
closes [#3924](#3924)
* **research:** add GitHub advisories and KEV to research advisories
([#4032](#4032))
([61e6936](61e6936)),
closes [#3987](#3987)
* **research:** add research sweep that files intake candidates
([#4055](#4055))
([11ddee9](11ddee9))
* **roadmap:** add a test-first manifest kind to the stage plan
([#3981](#3981))
([8476163](8476163))
* **roadmap:** check a plan number against its constant
([#4073](#4073))
([324a3a5](324a3a5))
* **roadmap:** name every caller of a changed function
([#4047](#4047))
([24e9138](24e9138))
* **roadmap:** the stage probe routes prompt changes to prompt rule
tests ([#3989](#3989))
([4aebde2](4aebde2))


### Code Refactoring

* **cli:** source modules keep no accommodation for tests
([#4053](#4053))
([33b57a9](33b57a9))
* **roadmap:** remove the dead plan and review step classes
([#4074](#4074))
([526834f](526834f))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: dan-petty-release[bot] <346998822+dan-petty-release[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

scope/roadmap The roadmap jobs: intake, refine, stage, implement and the Service that runs them type/feature New user-facing functionality or capability addition

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(roadmap): check a plan number against its constant

1 participant