skills: guard example-led opt-ins#5
Conversation
| stripped = line.strip() | ||
| reference = strip_bullet(line) | ||
|
|
||
| if in_fence: |
There was a problem hiding this comment.
Please add a red-path fixture for references inside fenced code blocks. The checker reports this case, but the behavior is currently only protected by code review rather than tests.
There was a problem hiding this comment.
Addressed in 8f7a7b2 by adding a fenced-code red-path fixture and asserting the checker emits the code-fence failure message. Local validation: ./tests/run.sh all.
| optin_output=$(python3 tools/check-skill-opt-ins.py --root "$optin_tmp" 2>&1) | ||
| rc=$? | ||
| set -e | ||
| if [[ $rc -eq 1 && "$optin_output" == *"must use the exact compact opt-in preamble"* && "$optin_output" == *"needs runtime guard"* ]]; then |
There was a problem hiding this comment.
This red-path fixture should also assert duplicate canonical opt-ins. The checker has a duplicate guard, but without a fixture it can regress while this test still passes.
There was a problem hiding this comment.
Addressed in 8f7a7b2 by adding a duplicate canonical opt-in fixture and asserting the checker emits the duplicate-reference failure message. Local validation: ./tests/run.sh all.
|
Independent review finding: the opt-in checker recognizes triple-backtick code fences but not tilde fences. A valid Markdown |
|
Addressed independent review finding in 977cbcb: the checker now treats both backtick and tilde Markdown fences as fenced content, with red-path coverage for tilde-fenced opt-ins and a tilde-fenced |
|
Second independent review finding: the fence parser should track the active Markdown fence marker/length, not just toggle on any ``` or ~~~ prefix, and the worklog runtime guard must not count when it is in an indented Markdown code block. I am fixing both bypasses with regression fixtures before marking this ready. |
|
Addressed second independent review finding in cfc9fd5: fence parsing now tracks active marker character and length, closing only on a matching fence, and indented code lines are treated as non-operative for opt-in/runtime-guard checks. Added red-path coverage for long fences and indented-code runtime guards. Local validation: |
|
Third independent review finding: mixed leading spaces plus a tab can create a four-column Markdown code block without matching the current literal indentation checks. I am fixing indentation handling to use column-count semantics and adding mixed-tab red-path coverage. |
|
Addressed third independent review finding in bc0e124: leading indentation is now computed by Markdown column semantics, including tabs, so mixed space+tab indented code does not count as operative opt-in or runtime-guard prose. Added mixed-indent red-path coverage. Local validation: |
|
Final handoff evidence at e358cd7: local validation passed with |
Summary
example-led-instructionsopt-ins in skill docsworklogruntime guardtightening-a-prhandoff rules for final head SHA, validation evidence, CI, and draft-to-ready stateReview and audit trail
skills/which-model/bin/model-catalog --env auto --refresh-if-stale --task long_context_review --top 3; usedgpt-5.6-terrafor independent review because it is selectable in this harness0eabd9a: reject fencedworklogruntime guards977cbcb: cover tilde-fenced opt-ins and runtime guardscfc9fd5: parse matching Markdown fence marker and length, plus indented codebc0e124: detect tab-expanded indented codee358cd7: codify final PR handoff readiness evidence intightening-a-prbc0e124: no blocking findings;e358cd7is guidance-only and passed the full harnessValidation
e358cd7python3 tools/check-skill-opt-ins.py— pass./tests/run.sh all— 55 pass, 0 failgit diff --check— pass