Grilling
Cache and Release Classification Grill Status
Cache and Release Classification Grill Status
Branch Dashboard
| Branch | Completion | Locked direction | Still open |
|---|---|---|---|
| Compatibility range | 100% | Use >=current <next-minor; failed patch proof requires mixed intent; each minor starts anew. | none |
| Development cache policy | 100% | Cache by default; portable entries cross local/CI; host work uses capability-keyed entries. | none |
| PR and local release proof | 100% | Full PR candidate proof gates publication; pre-commit is fast and pre-push runs the full graph. | none |
| Release trigger and intent | 100% | Every main merge classifies; preserve every reviewed version in publication order. | none |
| Stable channels | 100% | Production stable only; latest is production and next mirrors it. | none |
| Free-plan publication guard | 100% | No paid protection; only an exact green PR candidate may publish from main. | none |
| Baseline release credentials | 100% | Verified existing Devpunks API project; its production env reaches baseline promotion only. | none |
| npm publication credentials | 100% | Bind OIDC to the exact workflow and existing Production environment; no approval gate. | none |
| Release recovery | 100% | Failed versions remain first; retry reconciles completed steps; later versions wait. | none |
Current Round
- Round: closed
- Current frontier: empty
- Shared-understanding confirmation: confirmed by the user on 2026-08-10
| Question id | Prerequisites | Question | State |
|---|---|---|---|
| Q1 | none | Should every main merge run classification and automatic required stable publication? | answered |
| Q2 | none | Which public release channels are in scope? | answered |
| Q3 | none | May an unchanged stable baseline cover a later compatible CLI patch? | answered |
| Q4 | none | May platform-independent tests share local and PR cache entries? | answered |
| Q5 | none | Should feature-branch-to-main use enforceable merge gates? | answered |
| Q6 | Q3 | What compatibility range may a stable baseline declare? | answered |
| Q7 | Q4 | Which verification tasks use platform-neutral cache identity? | answered |
| Q8 | Q1 | Where is release version and changelog intent declared? | answered |
| Q9 | Q5 | Which main protection rules and plan fallback are mandatory? | answered |
| Q10 | Q1 | How does baseline publication receive Vercel-owned production variables? | answered |
| Q11 | Q1 | How does npm publication authenticate? | answered |
| Q12 | Q6 | What happens after compatibility proof failure or at the next minor? | answered |
| Q13 | Q7 | What proof admits a task to platform-neutral cache? | answered |
| Q14 | Q1, Q8 | Do pending releases preserve every version or coalesce? | answered |
| Q15 | Q1, Q3 | What order must a mixed release follow? | answered |
| Q16 | Q2, Q11 | How do latest and next behave? | answered |
| Q17 | Q9, Q11 | How is npm OIDC activated safely? | answered |
| Q18 | Q7, Q13 | Who may write portable development-cache entries? | answered |
| Q19 | Q12, Q15 | Is the next-minor baseline-first availability gap accepted? | answered |
| Q20 | Q14, Q15, Q19 | How do later releases behave while an earlier reviewed version has failed? | answered |
| Q21 | Q4, Q7, Q13, Q18 | How aggressively should test and build work use shared caching? | answered |
| Q22 | Q1, Q5, Q21 | Does required PR CI prove the complete prospective release tree? | answered |
| Q23 | Q21, Q22 | Which local hooks catch failures before GitHub CI? | answered |
| Q24 | Q5, Q9, Q17, Q22 | May the organization upgrade to GitHub Team for enforceable protection? | answered |
Locked Direction
- The release-impact classifier distinguishes
none,baseline,npm, andmixedfrom semantic artifact comparison, not path filters alone. - A baseline build inside npm package assembly is separate from publishing or promoting stable baseline authority.
- Every merge to
mainruns the classifier; only required release mutations execute. - Production stable is the only release channel in scope.
- Same-repository PR CI and authenticated local development both read and write signed development-cache entries. Protected release authority remains separate.
- Verification and build work is cacheable by default. Portable tasks may cross local macOS and Ubuntu PR CI; host-dependent tasks use capability-keyed entries.
- Only the smallest tasks whose asserted behavior is current scheduling, timing, external lifecycle, or mutation remain fresh, with the reason declared.
- The rejected bilateral cross-platform acceptance suite is not required.
- The project remains on GitHub Free and does not require enforceable branch protection.
- Pull-request candidate checks cannot block a Free-plan merge, but exact successful candidate evidence is mandatory for publication.
- Direct, red, cancelled, or unattested
maincommits perform no production release mutation. - Local verification uses a fast cache-backed staged-diff pre-commit gate and a complete cache-backed pre-push candidate gate.
- A failed same-minor consumer proof turns npm-only intent into mixed release intent.
- Mixed releases build and publish the baseline before npm; no candidate/promotion split is introduced.
- npm
latestandnextboth identify production stable. - Every explicitly reviewed product version publishes in order; pending versions do not coalesce.
- The next-minor baseline-first compatibility interval is accepted.
- Failed versions remain first in the release queue; retries reconcile completed steps before later versions run.
Still Open
- None. Requirements are ready for specification compilation.
Parked Branches
- Beta release channel. Owner: Stefan. Resume trigger: an explicit request to introduce a beta channel.
- Canary release channel. Owner: Stefan. Resume trigger: an explicit request to introduce a canary channel.
- npm staged publication with human approval. Owner: Stefan. Resume trigger: an explicit request to add staged publication or a human approval gate.
Specification Handoff
- Base:
origin/main@caee8be43d38bfaaaff4cc3c90cb14c8b82c245a. - Stack: none; use one feature/spec branch into
main. - Retained research authority:
research/cache-release-diff-classification@7e196b2223d39e8767fb76356f7c56fb0630d966andresearch/cache-release-green-main-gaps@eabdd5f7206f0aeeb3a3aaba4ff31de5dc30d1f8. - Vercel dependency: Devpunks scope
dev-punks, projectharness-intelligence-api, project IDprj_Us1K3pmpyCJiAGLQfiPpAoOBhHGt, organization IDteam_0QvyOroTH1I7k8hWMqSRCOqH. - Prototype verdict: not applicable.
Glossary
Terms
- Release-impact classifier: Readonly authority that selects
none,baseline,npm, ormixedfrom canonical product comparisons. - Stable baseline: The immutable scaffold artifact currently promoted by the control plane as the production baseline.
- Portable deterministic test: A test task whose result is proven independent of operating system and architecture under its complete declared identity.
- Capability-keyed test: Host-dependent verification cached only when declared runtime, kernel, filesystem, tool, container, and other relevant capability evidence matches.
- Fresh witness: The smallest uncached test whose purpose is to observe current scheduling, timing, contention, external lifecycle, or mutation rather than deterministic output.
- Release intent: Reviewed repository state that declares the version, changelog, compatibility, and product release expected after merge.
- Release authority: Credentials and trust policy permitted to mutate npm, GitHub release, or stable baseline state.
- Compatible patch family: A baseline CLI range from one supported version up to, but excluding, the next minor version. Avoid: binary compatible family, unbounded minimum version.
- Portable cache writer: An authority allowed to upload a result under the platform-neutral development-cache identity.
Relationships
- One
maincommit has exactly one release-impact classification. - One classification may require zero, one, or both product publications.
- An npm publication always assembles a bundled baseline but does not always promote a stable baseline.
Axioms
- Release mutations are never cacheable.
- Pull requests never publish production artifacts.
- Protected publication never consumes development-cache artifacts.
- A
mainmerge always triggers classification; classification decides whether publication occurs. - Classification may select an impact, but publication still requires exact successful pull-request candidate evidence for the current tree.
- Unknown release impact fails closed.
- A stable baseline never declares compatibility beyond its current minor family.
- npm
latestandnextresolve to the same production version. - Authenticated local development and same-repository PR CI may both write portable cache entries.
- Test and build tasks are cacheable by default; an uncached task must state why replay cannot establish the asserted property.
Flagged Ambiguities
- "Publish after every merge" means the release workflow always runs, not that every merge creates a new product version.
- "
>= currentVersion" is resolved as a bounded compatible patch family:>=current <next-minor. - "Binary compatible" is avoided because compatibility covers behavior, schemas, and consumer evidence rather than a native ABI.
- "Cache everything" means cache every replay-safe result. It does not turn a prior concurrency schedule or external mutation into evidence that the current execution occurred.
- "Required PR gate" means required for production publication. GitHub Free cannot enforce it as a private-repository merge restriction.