Skip to content

feat(pstack): keep live test loops fast and verify against the pipeline's check - #463

Closed
eyupcanbodur wants to merge 1 commit into
cursor:mainfrom
eyupcanbodur:pstack/reflect-fast-loops
Closed

eyupcanbodur wants to merge 1 commit into
cursor:mainfrom
eyupcanbodur:pstack/reflect-fast-loops

Conversation

@eyupcanbodur

@eyupcanbodur eyupcanbodur commented Sep 30, 2026 •

Copy link
Copy Markdown

Why

Three failure patterns came out of a /reflect run over recent sessions. Live test loops slowed down because every build went through the full design, review, and verification ceremony while the operator waited. Per-commit compiles passed while the pipeline's lint failed, because the per-unit check was a cheaper stand-in for the real one. Binaries launched from the dev tool masked the production launch path, so permission prompts and process identity went untested.

Each edit is one to three sentences in an existing section, in the file's current voice. The additions are general and name no product.

Scope

  • poteto-mode/playbooks/feature.md. New step 1 defers design rounds, review passes, and full verification while the operator is in a live test loop. Blocking first steps names a reviewer pre-brief as a gate. Verify runs the primary path once and cites the log line before any hand-off. Steps renumbered 1 to 9.
  • poteto-mode/SKILL.md. The how and architect triggers carry the live-loop deferral. The AskQuestion trigger asks once about a new prohibition that changes the checks, and tags constraints as operator-stated, code-derived, or agent-proposed. Subagents read the /setup-pstack rule from disk at each fan-out, and interrupt text finishes the running check first. The Bug fix line routes mid-run defect reports even inside Feature. The Feature step cross-reference moves from 3 to 4.
  • poteto-mode/playbooks/bug-fix.md. Delegate briefs carry symptom and evidence, never a candidate cause. Diagnosis names what a missing log line and a status code prove, keeps unresolved hypotheses listed, and calls a fix unproven while one stays open.
  • poteto-mode/playbooks/opening-a-pr.md. Worktree keeps history work out of the worktree the operator runs the app from. Commits reference by subject until the last rewrite. Size and stacks sends a pre-existing bug found in a live test to its own PR. Descriptions re-reads Why, Blast Radius, and Verification after each scope addition. Readiness runs gh pr checks beside gh pr view before any CI claim.
  • principle-sequence-verifiable-units/SKILL.md. The per-unit check is the check the pipeline fails on, run once at HEAD while a human waits.
  • principle-prove-it-works/SKILL.md. The real artifact includes the production launch path and process identity.
  • architect/SKILL.md. Phase A tags constraints by origin. Phase B runs the Prototype playbook first when an OS permission system or a live run decides the question.
  • .cursor-plugin/plugin.json. Version 0.15.5 to 0.15.6.

Verification

node scripts/validate-plugins.mjs prints All plugins validated successfully. A word-level lint of every added segment found no long dash, no curly quote, and no mid-sentence colon. rg -i "abridge|clinician" pstack/ returns nothing. The only step-number cross-reference to feature.md lives in poteto-mode/SKILL.md and now reads Feature step 4.


Note

Low Risk
Documentation-only changes to SKILL.md playbooks and plugin metadata; no runtime code or security-sensitive logic.

Overview
Bumps pstack to 0.15.6 and tightens agent workflow docs so live manual test loops stay fast and verification matches what CI actually enforces.

Live test loop deferral is added across poteto-mode and Feature: ship the smallest build first while the operator is hand-testing each landing; defer how, architect, design rounds, review passes, and full verification until the loop ends or nobody is waiting. Mid-run defect reports (even during Feature) route to Bug fix.

Verification and diagnosis get stricter rules: per-unit checks must be the same check the pipeline fails on (not compile-only when lint also runs), run once at HEAD when a human is blocked; prove-it-works now treats production launch path and process identity as part of the real artifact; Feature verify requires running the primary path and citing a log line before hand-off; bug-fix binary search clarifies log lines, status codes, and untested hypotheses.

Process guardrails include constraint tagging (operator / code / agent-proposed) in architect and AskQuestion flows, Prototype before design when OS permissions or a live run decide the question, subagents re-reading /setup-pstack from disk at fan-out, interrupt text that finishes the in-flight check, and opening-a-pr rules for sibling worktrees, pre-existing bugs in separate PRs, and gh pr checks before CI claims.

Reviewed by Cursor Bugbot for commit e2754c8. Bugbot is set up for automated code reviews on this repo. Configure here.

…ne's check

Ship the smallest build first while the operator is in a live test loop, and run the design rounds, review passes, and full verification once after the loop closes. Make the per-unit check the check the pipeline fails on, run once at HEAD while a human waits. Count the production launch path and process identity as part of the real artifact. Route mid-run defect reports to Bug fix, keep delegate briefs to symptom and evidence, and tighten what counts as evidence during diagnosis. Tag constraints by origin and offer dropping an agent-proposed one before adding code. In Opening a PR, keep history work out of the operator's worktree, defer commit hashes until the last rewrite, send pre-existing bugs to their own PR, and run `gh pr checks` before any CI claim. Bump pstack to 0.15.6.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is ON, but it could not run because the branch was deleted or merged before autofix could start.

Reviewed by Cursor Bugbot for commit e2754c8. Configure here.


Take the runners from the `architect runners` line in the `pstack-models.mdc` rule, in place of the `arena runners` line. If the rule or that line is missing, use `claude-opus-5-5-max`, `gpt-5.6-sol-max`, `grok-4.7-xhigh-fast`. Alias and rejected entries follow the runner rules in the **arena** skill's Phase A.

When an OS permission system or a live run decides the open question, run the Prototype playbook of the **poteto-mode** skill first and design around the observed result.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unscoped Prototype deferral in Architect

Medium Severity · Bugbot Rules

Phase B tells the agent to run the whole Prototype playbook when an OS permission or live run decides the question. That inherit's Prototype's exit (hand off to Feature, skip planning) and its scratch-dir throwaway launch, which cannot observe production process identity. Cross-playbook deferrals need to name the borrowed mechanism so the target's stop and routing rules are not inherited.

Fix in Cursor Fix in Web

Triggered by learned rule: Cross-playbook references must scope to the borrowed mechanism

Reviewed by Cursor Bugbot for commit e2754c8. Configure here.

@eyupcanbodur
eyupcanbodur deleted the pstack/reflect-fast-loops branch September 30, 2026 13:52
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