Skip to content

feat(framework): fw-4.18.0 — Polish Charter as debt-detection pattern#200

Merged
montfort merged 1 commit into
mainfrom
feat/polish-charter-pattern
May 23, 2026
Merged

feat(framework): fw-4.18.0 — Polish Charter as debt-detection pattern#200
montfort merged 1 commit into
mainfrom
feat/polish-charter-pattern

Conversation

@montfort
Copy link
Copy Markdown
Contributor

Summary

Closes #199. Adopts the RFC as Option B' (modified) — new governance pattern doc + small charter-template addition, no CLI helper yet.

  • New canonical doc: `dist/.straymark/00-governance/POLISH-CHARTER-PATTERN.md` (EN + es + zh-CN). Names the "Surface declaration without wiring" anti-pattern that polish Charters consistently surface (env var ↔ consumer; metric instrument ↔ record-call; HTML body URL ↔ registered route; public-by-contract route ↔ public-prefix entry). v0 status (proven in N=1 — Sentinel CHARTER-19 → CHARTER-27 / AIDEC-2026-05-22-001).
  • Charter template: one seventh `Format conventions` bullet pointing authors at the new pattern doc when closing an Etapa or SpecKit `Polish` Phase. No schema change.
  • QUICK-REFERENCE `## Patterns`: new row referencing the doc with the `(fw-4.18.0+)` badge (EN + es + zh-CN).
  • Framework bump: `dist-manifest.yml` 4.17.0 → 4.18.0, CHANGELOG entry, doc-version footer cascade across governance / adopters / READMEs per `CLAUDE.md §Release Workflow — Framework`.

CLI helper (`straymark analyze declared-vs-wired`) is deferred to N=2 — same crystallization gate that `FOLLOW-UPS-BACKLOG-PATTERN.md` uses. Listed under the new doc's `## Open questions`.

Decision context posted in #199 comment.

Test plan

  • `grep -rn "fw-4.17.0" dist/ docs/ README.md` → 0 hits (verified locally pre-push)
  • CI `release-framework.yml` accepts `fw-4.18.0` tag (will verify after merge + tag push)
  • Pattern doc renders cleanly on GitHub (Languages bar, table, links)
  • Internal links resolve (`SPECKIT-CHARTER-BRIDGE.md`, `FOLLOW-UPS-BACKLOG-PATTERN.md`, `EMERGENT-OBSERVATION-DESIGN.md`, `AGENT-RULES.md`)
  • Charter template renders OK after the 7th bullet addition
  • QUICK-REFERENCE `## Patterns` table parses (3 idiomas)

Release tag `fw-4.18.0` will be pushed after merge per the established workflow.

🤖 Generated with Claude Code

…closes #199)

Adds a new governance pattern doc naming the "Surface declaration without
wiring" anti-pattern that polish Charters (closing Charter of an Etapa /
SpecKit `Polish` Phase) consistently surface against the real binary —
gaps that integration tests with mock adapters (`humatest`, in-memory
event buses) systematically bypass.

Four generalized sub-classes:
- env var documented in runbook → consumer in code
- metric instrument declared → record-call site
- HTML body URL → registered route
- public-by-contract route → public-prefix entry

Originated in #199 from the Sentinel adopter (CHARTER-19 → CHARTER-27,
AIDEC-2026-05-22-001). v0 status (proven N=1); CLI crystallization
(`straymark analyze declared-vs-wired`) deferred to N=2 — same gate
FOLLOW-UPS-BACKLOG-PATTERN uses.

Changes:
- dist/.straymark/00-governance/POLISH-CHARTER-PATTERN.md (EN + es + zh-CN)
- dist/.straymark/00-governance/QUICK-REFERENCE.md `## Patterns` row (EN + es + zh-CN)
- dist/.straymark/templates/charter/charter-template.md: 7th `Format conventions` bullet
- dist/dist-manifest.yml: 4.17.0 → 4.18.0
- CHANGELOG.md: `## Framework 4.18.0` section
- Doc-version cascade across governance/adopters/READMEs

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@montfort montfort merged commit 3d14210 into main May 23, 2026
1 check passed
montfort added a commit that referenced this pull request May 23, 2026
…/ Issue #199 / PR #200 (#201)

Adds a ~2,400-word blog post covering the Polish Charter as
debt-detection pattern that landed as fw-4.18.0. Reconstructs the
Sentinel adopter's #199 RFC: ten latent gaps surfaced in one polish
session (two of them shipped-but-never-worked features live for 10
days), names the "Surface declaration without wiring" anti-pattern, and
explains the B' decision (governance pattern doc + deferred CLI helper,
N=1 → N=2 gate same as FOLLOW-UPS-BACKLOG-PATTERN).

EN + ES + zh-CN translations following the established per-locale
conventions (ES uses ISO date + topical tag translation; zh-CN uses
short date + inline tag array, English tags retained).

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.

RFC/pattern: "Polish Charter as debt-detection" — empirical signal from Sentinel CHARTER-19 → CHARTER-20

1 participant