Skip to content

✨ feat: template: fail just finish on a Fill: line, and pass just template on macOS - #410

Merged
pascalandy merged 4 commits into
mainfrom
feat/template-finish-harden-408
Oct 30, 2026
Merged

pascalandy merged 4 commits into
mainfrom
feat/template-finish-harden-408

Conversation

@pascalandy

@pascalandy pascalandy commented Oct 30, 2026 •

Copy link
Copy Markdown
Owner

Outside the plan: Pascal assigned #408, from the UAT of #406.

just finish let a new repository end the loop while its forms kept their Fill: lines: the UAT found 8 left in spec.md. On a Mac, just check also failed in just template, because the default TMPDIR ends in a slash.

Scope

  • Point 1: just finish names each line that starts with Fill: in vision.md, spec.md, and qa.md (formProblems in sdk/extensionrepo/finish.go). Round 1 of the template skill replaces each one, and a None. under ## Open lines cites the generic cases
  • Point 3: scripts/template-test.sh resolves its scratch root with pwd -P, as signoff-test.sh does. The T// path no longer reaches the comparison of fct_test_uninstall
  • Point 4, for points 1 and 3: template-finish-test.sh checks each Fill: line of the three forms by file and line
  • Point 5: the message of a limit state prints "open", without the backticks of its cell
  • The contract lists the new check. The template AGENTS.md and README.md point to the contract instead of repeating the list
  • verify-nicely: the template feature gains a Finish gate step

Point 2 is delegated to #409: a verdict that follows from the findings, the severity rule, and the reader of readiness.md. That also covers the cases of point 4 for readiness.md. readinessProblems stays untouched, so #409 can rebase on this branch. Its one shared line is the problems line of finishRepository.

Proved by: the new assertions of template-finish-test.sh fail 20 times against the finish.go of main (19 Fill: lines and the "open" message), and pass here. TMPDIR='<dir>/' just template fails on main at fct_test_uninstall, and passes here. On a Mac, just check passes at 3b52e2ae with the default TMPDIR, /var/folders/.../T/.

  • 1. Spec: the sections that the card reads cover every command, flag, JSON key, and error code you add or change. No ncly command, flag, key, or code changes. extension-repository.md lists the new check of just finish
  • 2. Scenario: each scenario that the card proves fails for the missing behavior. See "Proved by"
  • 3. Code: those scenarios pass
  • 4. Text: n/a: just finish prints repository-task diagnostics, and no catalog entry changes
  • 5. Checks: just check passes. It passes on Linux, and on macOS with the default TMPDIR
  • 6. Verify: an agent that did not write the change runs verify-nicely on each feature that the card affects, and the pull request quotes its evidence. An Opus 5.5 subagent drove the template feature at 3b52e2ae (ncly v0.24.1-0.20261030224027-3b52e2ae9203, clean). Every step passed. The Finish gate step exited 1 and named 19 lines, the same set as grep -n '^Fill:' on the three forms, then "readiness.md: no readiness verdict is recorded". In a Git copy, just finish exited 0 once the forms were filled and Verdict: Ready was recorded. It then exited 1 with "qa.md:58: this line of the form is not filled" after a new Fill: line, and with the limit `big` has the state "open" for an open limit
  • 7. Docs: the card is done in its backlog item, README.md shows any change a user sees, and a skill teaches any command you add: the extension's, or nicely for core. No backlog item, since the issue is outside the plan. README points to just finish. The template skill teaches the rule of round 1
  • 8. Sign off: just signoff passes, or just signoff-layers for a stack. "Signed off on 3b52e2a"

Reviewed with sol-loop: 1 round with gpt-6.1-sol on xhigh. Sol found one defect, in the new verify-nicely step: its cd left the shell in the rendered repository. A subshell fixes it. Sol reported no finding on the code.

Closes #408

by Opus-5.5 via Claude Code

pascalandy and others added 4 commits October 30, 2026 18:09
…lash passes

- Purpose: macOS gives TMPDIR a final slash, so mktemp made a path with
  //, and fct_test_uninstall compared it with the clean path that
  just uninstall prints. just check failed on a Mac
- Impact: just template passes with a TMPDIR that ends in a slash or that
  sits under the /var link, as signoff-test.sh already does

Refs #408

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Purpose: just finish printed the state of a limit with the backticks of
  its cell, as "`open`"
- Impact: the message says "open", and template-finish-test.sh checks it

Refs #408

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Purpose: a new repository passed just finish with only a readiness.md
  that said Ready. The UAT of #406 found 8 Fill: lines left in spec.md
- Impact: just finish names each line that starts with Fill: in
  vision.md, spec.md, and qa.md. Round 1 of the template skill replaces
  each one, and a None. under ## Open lines cites the generic cases
- Docs: the contract lists the new check. The template AGENTS.md and
  README.md point to it instead of repeating the list

Refs #408

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Purpose: the template feature checked the loop text, but never ran the
  gate that ends the loop
- Impact: the Finish gate step runs just finish in the rendered
  repository, and expects each Fill: line of its forms and the missing
  readiness.md

Refs #408

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 30, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Repository UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: b4a081b0-facc-49cf-9c43-3f7460b177d5

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

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.

feat(template): durcir just finish : formulaire rempli, verdict cohérent, TMPDIR portable

1 participant