Skip to content

chore: sync cli-3.12.1 fix to main (stranded by stacked-PR merge order)#132

Closed
montfort wants to merge 3 commits into
mainfrom
feat/tde-activation-trigger
Closed

chore: sync cli-3.12.1 fix to main (stranded by stacked-PR merge order)#132
montfort wants to merge 3 commits into
mainfrom
feat/tde-activation-trigger

Conversation

@montfort
Copy link
Copy Markdown
Contributor

Why this PR

#131 (closes #130) was a stacked PR with base `feat/tde-activation-trigger` (the branch of #129). The intended merge order was:

  1. Merge feat(framework): fw-4.13.0 — TDE activation trigger (closes #128) #129 → main (`fw-4.13.0`)
  2. GitHub auto-rebases fix(cli): cli-3.12.1 — validator accepts TDE identified status (closes #130) #131's base to main
  3. Merge fix(cli): cli-3.12.1 — validator accepts TDE identified status (closes #130) #131 → main (`cli-3.12.1`)

Step 2 didn't happen — GitHub auto-rebases the target branch reference when a base is deleted, but here #129's branch `feat/tde-activation-trigger` was retained (used as #131's head/base). So when #131 merged, it merged to `feat/tde-activation-trigger` instead of being redirected to `main`. The 14 files of `cli-3.12.1` content are stranded on that branch.

This PR brings them in, no logical change vs what was already reviewed and approved in #131.

What's in (identical to #131's merged diff)

```
git diff main..feat/tde-activation-trigger --stat
CHANGELOG.md | 20 +++++++++++++++++++
README.md | 2 +-
cli/Cargo.lock | 2 +-
cli/Cargo.toml | 2 +-
cli/src/validation.rs | 14 +++++++++++--
cli/tests/validate_test.rs | 23 ++++++++++++++++++++++
.../00-governance/DOCUMENTATION-POLICY.md | 14 +++++++++----
.../00-governance/i18n/es/DOCUMENTATION-POLICY.md | 14 +++++++++----
.../i18n/zh-CN/DOCUMENTATION-POLICY.md | 14 +++++++++----
docs/adopters/CLI-REFERENCE.md | 2 +-
docs/i18n/es/README.md | 2 +-
docs/i18n/es/adopters/CLI-REFERENCE.md | 2 +-
docs/i18n/zh-CN/README.md | 2 +-
docs/i18n/zh-CN/adopters/CLI-REFERENCE.md | 2 +-
14 files changed, 93 insertions(+), 22 deletions(-)
```

All previously reviewed in #131. No new content — purely procedural sync.

Post-merge

Tags `fw-4.13.0` and `cli-3.12.1` can be pushed from main HEAD immediately after this PR lands. `cli/Cargo.toml` will read `3.12.1` (so `release-cli.yml`'s version-match check passes), and `dist/.straymark/00-governance/DOCUMENTATION-POLICY.md §3` will carry the `identified` lifecycle clarification that #131's description promised would "ship as part of fw-4.13.0".

🤖 Generated with Claude Code

montfort and others added 3 commits May 10, 2026 12:57
…sals + private notes

The `Propuesta/` directory mixed canonical docs, implemented proposals,
internal notes and competitive analysis. This commit splits them along
purpose lines, so a contributor opening the repo finds public docs
immediately and isn't exposed to material that should not be public.

Public, atemporal — moved to `docs/contributors/` with full i18n:
- `DESIGN-PRINCIPLES.md` (12 hierarchical principles, with v0.2 empirical
  annotations from Sentinel validation cycles) — EN translated, ES
  preserved as the original, zh-CN translated.
- `WHAT-IS-A-CHARTER.md` (conceptual scope of the Charter artifact and
  its boundary with GitHub SpecKit's `plan.md`) — same i18n treatment.
- New `docs/contributors/README.md` (×3 langs) is a categorized index
  with a one-line summary per document.

Public, archival — moved to `docs/decisions/proposals/` with date prefix
(no translation, these are historical artifacts):
- `2026-04-30-thesis-validation.md`
- `2026-04-30-charter-telemetry.md`
- `2026-05-03-cli-roadmap.md` (Phases 1-3 shipped in cli-3.x)
- `2026-05-03-audit-skills-design.md` (implemented in fw-4.8.0)
- `2026-05-03-audit-skills-rollout.md`
- `2026-05-04-audit-cli-flow.md` (implemented in cli-3.10+)

Moved out of the repo (to ~/Documents/StrangeDaysTech/internal-notes/),
not gitignored — internal-only material should not be in the public
working tree at all (leak-by-mistake risk):
- straymark-studio-vision.md (speculative product vision)
- straymark-mapa-cognitivo.md (internal brainstorm + qualitative diagnosis)
- straymark-telemetria-etapa2-sentinel.md (operational deliverable to
  one specific adopter)
- sentinel-skill-prompt-audit.md, sentinel-skill-prompt-audit-review.md
  (Sentinel's pre-StrayMark methodology)
- straymark-cloud-proposal.md (competitive analysis, monetization
  hypotheses — explicitly sensitive)

Also fixes the broken link in all three READMEs line 90 — pointed at
`Propuesta/straymark-design-principles.md` which was untracked, hence 404
on GitHub. Now points at `docs/contributors/DESIGN-PRINCIPLES.md` and
its localized siblings.

Finalizes the dangling deletes of the legacy `Propuesta/devtrail-*`
files left over from the rebrand. `Propuesta/` directory is now removed.
Adds the operational trigger and TDE vs R<N> disambiguation that were
missing in fw-4.12.0. Empirically motivated: Sentinel adopter created
zero TDEs across 13 closed Charters despite ≥7 instances of transversal
debt routed through parallel mechanisms.

Governance (EN + ES + zh-CN):
- AGENT-RULES.md §2 — new TDE trigger row; §3 — "TDE vs R<N>" with the
  four canonical criteria (heritage from prior Charter, multi-module
  scope, requires dedicated Charter, requires human prioritization)
- QUICK-REFERENCE.md and STRAYMARK.md §6 — surface the trigger
- FOLLOW-UPS-BACKLOG-PATTERN.md — new status `promoted`, new
  destination `TDE-YYYY-MM-DD-NNN`, new `Promoted to:` field, full
  "Promotion to TDE" section with criteria + workflow

Templates + skills:
- TEMPLATE-TDE.md (EN + ES + zh-CN) — `promoted_from_followup: null`
  frontmatter, inline activation-triggers note
- /straymark-new (3 surfaces) — split the TDE suggestion into
  code-smell trigger (TODO/FIXME/HACK) and architectural trigger

Fixed — stale paths in /straymark-status (3 surfaces) and CLI-REFERENCE
(3 langs). The TDE path bug (`06-operations/tech-debt/` →
`06-evolution/technical-debt/`) was surfaced verifying #128: status
would never have found TDEs that `new` was writing. Four sibling bugs
(ADR/REQ/TES/INC) fixed in the same pass since they share the cause.

Version bump fw-4.12.0 → fw-4.13.0 across manifest, footers (8
governance docs × 3 langs), README/CLI-REFERENCE/ADOPTION-GUIDE
versioning tables (3 langs).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
 #130) (#131)

Latent bug exposed by #129's TDE activation trigger: `straymark new
--doc-type tde` shipped documents with the canonical `status: identified`
(per TEMPLATE-TDE.md and DOCUMENTATION-POLICY.md §6), but `straymark
validate` rejected them with META-003. The validator's hardcoded
VALID_STATUSES was missing the only non-`draft`/non-`accepted` default
in the type matrix.

Fixed (CLI):
- validation.rs:45 — VALID_STATUSES now includes `identified` alongside
  draft/review/accepted/superseded/deprecated. Flat enum still applies
  to all 12+ doc types; per-type validation sets deferred to v1 against
  the same second-adopter gate as the follow-ups CLI.
- cli/tests/validate_test.rs — new regression test
  `test_validate_tde_document_valid()` exercises `status: identified`.
  TDD red→green verified: test fails on unpatched validator, passes
  after the fix.

Changed (Framework, no separate version bump — ships with fw-4.13.0):
- DOCUMENTATION-POLICY.md §3 "Document Statuses" (EN + ES + zh-CN):
  lifecycle diagram extended to show `identified` as a TDE-only entry
  state. Reconciles §3 prose with the §6 per-type defaults table that
  already declared TDE → `identified`.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@montfort
Copy link
Copy Markdown
Contributor Author

Closing — merge conflict due to GitHub squash-merging #129 (commit SHAs differ from feat branch). Reopening with a cherry-picked branch off main.

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.

bug(cli): straymark validate rejects TDE documents out of the box — META-003 does not know about canonical status: identified

1 participant