Skip to content

fix(interview): restore deterministic-question confirm/back/discuss affordances (#431)#472

Merged
MScottAdams merged 1 commit intophase2/vbrief-cutoverfrom
agent1/ga-interview/431-deterministic-questions-rc2
Apr 20, 2026
Merged

fix(interview): restore deterministic-question confirm/back/discuss affordances (#431)#472
MScottAdams merged 1 commit intophase2/vbrief-cutoverfrom
agent1/ga-interview/431-deterministic-questions-rc2

Conversation

@MScottAdams
Copy link
Copy Markdown
Collaborator

Summary

Restores the three #359 behaviors in the deterministic-question flow defined by skills/deft-directive-interview/SKILL.md that regressed in RC2 off phase2/vbrief-cutover.

Addresses vBRIEF vbrief/active/2026-04-20-431-deterministic-questions-rc2-defects.vbrief.json.

Changes

skills/deft-directive-interview/SKILL.md

  1. Rule 8 hardened (confirm-after-number-press) — the step is now explicitly MANDATORY; the agent echoes the selected option (with its number) back to the user and waits for Enter before advancing. Typing a different number re-echoes and re-waits. Accepts b / back / prev at the confirm prompt as a shortcut to back-navigation.
  2. Rule 9 hardened (backward navigation)b / back / prev remain the canonical inputs, but the affordance MUST be visible on every question via the persistent legend (Rule 11), not only announced once at interview start.
  3. Rule 10 renamed + repositioned — slot-0 escape hatch is now labelled 0. Discuss with agent (self-describing), rendered at the top of the options block with visual separation (horizontal rule or blank line) from the numbered answer options, and DISTINCT from Other / I don't know (Rule 3 escape remains separate).
  4. Rule 11 (new) — Persistent Legend Under Each QuestionEnter confirm / b back / 0 discuss MUST render directly under the options block on every deterministic question, including re-displayed questions after back-nav (Rule 9) or freeform resume (Rule 10).
  5. Examples in Rule 2 and Rule 8 updated to show the new layout (slot-0 first, visual separator, legend under options).
  6. Anti-patterns extended — three new prohibitions: missing legend, non-self-describing slot-0 label (Pause, Escape, Other..), and merging Discuss with agent with Other / I don't know.

.agents/skills/deft-directive-interview/SKILL.md

Thin pointer mirrors by reference (reads the canonical SKILL.md at runtime). No duplication required. Pointer verified in place by new test.

tests/content/test_interview_deterministic.py (new)

23 assertions covering:

  • Confirm step presence (Rule 8 heading, MANDATORY phrasing, echo, wait-for-Enter, auto-advance anti-pattern)
  • Back-navigation key presence (Rule 9 heading, b/back/prev listed, legend requirement, hidden-back anti-pattern)
  • Slot-0 Discuss label + distinctness from Other (Rule 10 heading, literal 0. Discuss with agent, DISTINCT-from-Other phrasing, visual-separation requirement, merge / pause-label anti-patterns, old Pause -- discuss… label gone)
  • Persistent legend presence (Rule 11 heading, canonical legend verbatim, legend inside Rule 2 and Rule 8 examples, every-question requirement, missing-legend anti-pattern)
  • Mirror pointer still in place and redirects to canonical path

CHANGELOG.md

New entry under [Unreleased]### Fixed describing the four behavior restorations.

Validation

task check: PASS — 1700 passed, 1 xfailed, TASK_EXIT=0. All 23 new content assertions pass.

Scope Guardrails

Only touched the four files assigned to this agent by the task dispatch:

  • skills/deft-directive-interview/SKILL.md
  • .agents/skills/deft-directive-interview/SKILL.md (no change — pointer-by-reference)
  • tests/content/test_interview_deterministic.py (new, per the "prefer new test files" guideline)
  • CHANGELOG.md

No edits to other agents' files (scripts/, deft/strategies/speckit.md, README.md, UPGRADING.md, Taskfile.yml, etc.).

Closes #431

…ffordances (#431, #359)

- Rule 8 hardened: confirm-after-number-press step is now explicitly
  MANDATORY; agent echoes the selected option (with its number) back
  to the user and waits for Enter before advancing. Accepts b/back/prev
  at the confirm prompt as a shortcut to back-navigation.
- Rule 9 hardened: back-navigation via b/back/prev must be visible on
  every question via the persistent legend (Rule 11), not only
  announced at interview start.
- Rule 10 renamed and repositioned: slot-0 escape hatch is now labelled
  `0. Discuss with agent` (self-describing), rendered at the TOP of the
  options block with visual separation from the numbered options, and
  DISTINCT from `Other / I don't know` (Rule 3 escape remains separate).
- Rule 11 new: persistent one-line legend
  `Enter confirm / b back / 0 discuss` MUST appear under every
  deterministic question, including re-displayed questions after
  back-nav (Rule 9) or freeform resume (Rule 10).
- Examples in Rule 2 and Rule 8 updated to show the new layout.
- Anti-patterns extended: missing legend, non-self-describing slot-0
  label, merging Discuss with Other.
- .agents/skills/deft-directive-interview/SKILL.md mirrors by
  reference (thin pointer reads canonical SKILL.md at runtime); no
  duplication required.
- New test module tests/content/test_interview_deterministic.py with
  23 assertions covering confirm step presence, back-nav key presence,
  slot-0 Discuss label and distinctness, and persistent legend
  presence in examples and as a mandatory rule.
- CHANGELOG.md: [Unreleased] Fixed entry added.

Closes #431
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Apr 20, 2026

Greptile Summary

This PR restores four deterministic-question UX behaviors that regressed in RC2: the mandatory confirm-after-number-press step (Rule 8), visible back-navigation affordance on every question (Rule 9), the self-describing 0. Discuss with agent slot-0 label distinct from Other / I don't know (Rule 10), and a new persistent one-line legend Enter confirm / b back / 0 discuss under every question (Rule 11). Changes are confined to the canonical SKILL.md, a new 23-assertion content-test module, and a CHANGELOG entry; the .agents/ thin pointer required no edits.

Confidence Score: 5/5

Safe to merge; the sole finding is a minor assertion-count discrepancy in CHANGELOG prose that does not affect test execution or runtime behavior.

All changes are documentation/rule-file updates with matching test coverage. The one P2 finding (CHANGELOG says "20 assertions" where the test module has 23) is a cosmetic prose error with no functional impact. No logic, data, or runtime concerns were identified.

CHANGELOG.md — assertion count should read 23, not 20.

Important Files Changed

Filename Overview
skills/deft-directive-interview/SKILL.md Adds Rules 8-11 (selection confirmation, back-nav, slot-0 Discuss label, persistent legend) and extends Anti-Patterns with three new prohibitions; all new rules are internally consistent and referenced correctly from the Rule 2 and Rule 8 examples.
tests/content/test_interview_deterministic.py New test module with 23 assertions covering Rules 8–11 and the .agents/ mirror pointer; all substring searches match the verbatim text in SKILL.md and the case-sensitive heading checks align correctly.
CHANGELOG.md New Unreleased/Fixed entry accurately describes the four restored behaviors; assertion count reported as 20 but the test file contains 23 test functions (PR description correctly says 23).

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    Q["Display question\n(options block + legend)"]
    L["Render legend:\nEnter confirm / b back / 0 discuss"]
    Q --> L
    L --> Input{User input}
    Input -->|"Number (1..N)"| Echo["Echo selection\n(Rule 8 — MANDATORY)"]
    Echo --> Confirm{User confirms?}
    Confirm -->|"Enter"| Next["Advance to next question"]
    Confirm -->|"Different number"| Echo
    Confirm -->|"b / back / prev"| Back["Return to previous question\n(Rule 9)"]
    Back --> Q
    Input -->|"0 — Discuss"| Free["Freeform conversation\n(Rule 10)"]
    Free --> Resume["Resume: re-display same question\n(full options block + legend)"]
    Resume --> Q
    Input -->|"b / back / prev"| Back
Loading
Prompt To Fix All With AI
This is a comment left during a code review.
Path: CHANGELOG.md
Line: 11

Comment:
**Assertion count mismatch between CHANGELOG and test file**

The CHANGELOG entry states "20 assertions" but `tests/content/test_interview_deterministic.py` contains 23 test functions. The PR description itself correctly states 23. The discrepancy means the CHANGELOG is factually wrong about the test coverage added by this change.

```suggestion
- **fix(interview): restore deterministic-question confirm/back/discuss affordances** (#431, #359): Restored the three #359 behaviors in `skills/deft-directive-interview/SKILL.md` that regressed in RC2 off `phase2/vbrief-cutover`. (1) Rule 8 hardened -- confirm-after-number-press step is now explicitly MANDATORY, echoes the selected option (with its number) back to the user, waits for Enter before advancing, and accepts `b`/`back`/`prev` as a shortcut to back-navigation without first confirming. (2) Rule 9 hardened -- back-navigation via `b`/`back`/`prev` is now required to be visible on every question via the persistent legend (Rule 11), not announced once at interview start. (3) Rule 10 renamed and repositioned -- slot-0 escape hatch is now labelled `0. Discuss with agent` (self-describing), rendered at the TOP of the options block with visual separation (horizontal rule or blank line) from the numbered answer options, and DISTINCT from `Other / I don't know` (which remains as a separate Rule 3 escape). (4) New Rule 11 -- a persistent one-line legend (`Enter confirm / b back / 0 discuss`) MUST render under every deterministic question, including re-displayed questions after back-nav or freeform resume. Examples in Rule 2 and Rule 8 updated to show the new layout. Anti-patterns extended with three new prohibitions (missing legend, non-self-describing slot-0 label, merging Discuss with Other). The `.agents/` pointer mirrors by reference (reads canonical SKILL.md at runtime) so no duplication was required. New content-test module `tests/content/test_interview_deterministic.py` with 23 assertions covering confirm step, back-nav key presence, slot-0 Discuss label + distinctness, legend presence in examples and as a mandatory rule, and anti-pattern coverage.
```

How can I resolve this? If you propose a fix, please make it concise.

Reviews (1): Last reviewed commit: "fix(interview): restore deterministic-qu..." | Re-trigger Greptile

@MScottAdams MScottAdams merged commit 4b60313 into phase2/vbrief-cutover Apr 20, 2026
3 checks passed
MScottAdams added a commit that referenced this pull request Apr 20, 2026
MScottAdams added a commit that referenced this pull request Apr 20, 2026
Housekeeping: 10 GA-blocker vBRIEFs for issues #429, #431, #432, #433, #434, #435, #436, #454, #457, #458 moved to completed/ with status: completed. All work is landed on this branch via PRs #472, #474, #475. Origin issues remain OPEN and will auto-close when PR #403 merges to master.
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