Skip to content

fix: v0.15.4 — logcat-on ISSUES-LOG return (F-164/F-165/F-166) - #71

Merged
qwerfunch merged 5 commits into
developfrom
fix/v0.15.5-logcat-issues-return
May 12, 2026
Merged

fix: v0.15.4 — logcat-on ISSUES-LOG return (F-164/F-165/F-166)#71
qwerfunch merged 5 commits into
developfrom
fix/v0.15.5-logcat-issues-return

Conversation

@qwerfunch

Copy link
Copy Markdown
Owner

Summary

Three contained bug fixes from logcat-on's freshest issue log (2026-05-11 / -13). Issue 2 was already closed by F-129; issues 1 / 3 / 5 queued for separate cycles (architectural scope).

  • F-164harness sync's bulk archive step blocked on the derived outputs render just wrote (domain.md · harness.yaml). workingTreeDirty now accepts a whitelist of paths sync rendered this invocation; real user edits elsewhere still gate the archive.
  • F-165feature-author template + SKILL.md and spec-conversion SKILL.md now mandate |- block scalar (or "..." double-quoted) for multi-line free-text fields. Plain scalars wrap and a continuation starting with { or carrying : tripped the YAML parser. PARSE failure happens before validation, so the fix lives at the emitter; the regression net is a round-trip test that fills the template with risky content ({Math.round(...)}, CSS {...}, transform: translateY(...), `${tpl}`).
  • F-166collectWarnings(spec) emits soft warning feature.name_too_long for names over 80 Unicode code points. Non-blocking, layered below F-130's 100-char hard cap. harness validate prints warnings on stderr. Real spec surfaces ~18 candidates without breaking validate.

(Branch name says v0.15.5 but the bump is v0.15.4 — typo, not a release decision change.)

Test plan

  • npx vitest run — 822/822 (previously 814; +8 new tests across sync.test.ts, skill-feature-author.test.ts, validate.test.ts)
  • npx tsc --noEmit clean
  • node bin/harness validate .harness/spec.yaml succeeds with 18 feature.name_too_long warnings shown on stderr (real-world surface)
  • bash self_check.sh 5/5 OK
  • All three F-N completed end-to-end through node bin/harness work lifecycle (5 evidence each, gates 0/1/2/5 pass, auto-archive lockstep maintained)

🤖 Generated with Claude Code

qwerfunch added 5 commits May 13, 2026 08:30
…, YAML emit safety, title length

Three contained fixes from the logcat-on issue log (2026-05-11 / -13):

- F-164: sync's bulk archive step refused to run because render had
  just dirtied derived outputs. `workingTreeDirty` now accepts a
  whitelist of paths sync wrote this invocation; real user edits
  still block archive.
- F-165: feature-author template + SKILL.md and spec-conversion
  SKILL.md now mandate `|-` block scalar (or quoted scalar) for
  multi-line free-text fields. Plain scalars wrap and trip the YAML
  parser when continuation lines start with `{` or carry `: `. A
  round-trip test fills the template with risky multi-line content
  and asserts parser-clean round-trip.
- F-166: `collectWarnings(spec)` emits the soft warning
  `feature.name_too_long` for names over 80 Unicode code points.
  Non-blocking — layered below the F-130 100-char hard cap. CLI
  surfaces warnings on `harness validate`.

Issue 2 (perf measurable improvement) was already closed by F-129.
Issues 1 / 3 / 5 queued for separate cycles.
complete()'s auto-archive moved F-164's body to spec.archive.yaml.
Mirror the change into the docs/samples lockstep pair manually since
the auto-archive doesn't touch the mirrors (separate issue).
Patch bump for the logcat-on ISSUES-LOG return (F-164 / F-165 / F-166).
@qwerfunch
qwerfunch merged commit bf97a69 into develop May 12, 2026
2 checks passed
@qwerfunch
qwerfunch deleted the fix/v0.15.5-logcat-issues-return branch May 12, 2026 23:42
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