Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,22 @@ and this project uses [independent versioning](README.md#versioning) for Framewo

---

## Framework 4.34.0 — 2026-07-08

### Fixed (Framework)

- **`straymark-audit-review`: the calibrator identity is now operator-provided, never
self-detected.** Same class of bug fixed for `straymark-audit-execute` in 4.33.0, but for
the consolidation step: when the review runs inside a router CLI (Qwen Code, Gemini CLI,
…), the `calibrator:` / `**Reviewer:**` fields would carry the CLI product name instead of
the operator-selected backend model. Step 1 now accepts an optional second argument
`/straymark-audit-review <CHARTER-ID> <CALIBRATOR-SLUG>`, a calibrator-identity note makes
the operator-provided identity authoritative and forbids the CLI product name, and a guard
verifies the written `calibrator:` and `**Reviewer:**` fields match the slug. Applied to
all four shipped copies (`.agent` workflow + `.claude`/`.gemini`/`.codex` skills).

---

## Framework 4.33.0 — 2026-07-08

### Fixed (Framework)
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ StrayMark uses independent version tags for each component:

| Component | Tag prefix | Example | Includes |
| --- | --- | --- | --- |
| Framework | `fw-` | `fw-4.33.0` | Templates (12 types), governance, directives, Charter template + schema |
| Framework | `fw-` | `fw-4.34.0` | Templates (12 types), governance, directives, Charter template + schema |
| CLI | `cli-` | `cli-3.30.0` | The `straymark` binary |
| Loom (EXPERIMENTAL) | `loom-` | `loom-0.4.2` | The `straymark-loom` visualization server, downloaded on demand by `straymark loom serve` |

Expand Down
5 changes: 5 additions & 0 deletions cli/tests/audit_skill_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,11 @@ fn straymark_audit_review_three_platforms_share_core_guidance() {
body.contains("review.md"),
"skill must produce the consolidated review.md document"
);
// Calibrator identity is operator-provided (never the CLI product name).
assert!(
body.contains("router, not the model"),
"review skill must forbid substituting the CLI product name for the calibrator identity"
);
// Six-section structure lifted from Sentinel skill.
assert!(
body.contains("Executive summary") || body.contains("executive summary"),
Expand Down
8 changes: 5 additions & 3 deletions dist/.agent/workflows/straymark-audit-review.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ If only some audits have completed, **do not proceed** — invoking the skill wi

### 1. Resolve the Charter and verify report set

Argument: a Charter identifier.
Arguments: a Charter identifier, and an optional `<CALIBRATOR-SLUG>` — `/straymark-audit-review <CHARTER-ID> <CALIBRATOR-SLUG>`. The second argument is the operator-provided identity of the model performing this consolidation (see the calibrator-identity note before the frontmatter block below); it is never inferred from the CLI you are running in.

```bash
ls -la .straymark/audits/<CHARTER-ID>/
Expand Down Expand Up @@ -93,12 +93,14 @@ Mark these as "Missed by all auditors" in the remediation plan.

### 5. Build the consolidated review.md

**Calibrator identity — the operator sets it, never self-perception.** The `calibrator:` and `**Reviewer:**` fields name the **backend model** performing this consolidation. Take it from the optional 2nd argument `<CALIBRATOR-SLUG>` or from what the operator states in chat. The CLI you run inside (Qwen Code, Claude Code, Gemini CLI, …) is a **router, not the model**: writing its product name (`qwen-code`, `gemini-cli`, …) instead of the operator-selected backend model is a defect. Fallback only if the operator provided nothing: ask before writing. **Guard:** before finishing, re-read the written `review.md` and confirm `calibrator:` and `**Reviewer:**` both equal the operator-provided slug — not the CLI product name — and fix them if not.

Write the consolidated analysis to `.straymark/audits/<CHARTER-ID>/review.md` with this structure (six sections, lifted from Sentinel's pre-StrayMark audit-review skill):

```markdown
---
audit_role: calibrator-reconciler
calibrator: <self-model-id>
calibrator: <calibrator-slug>
charter_id: <CHARTER-ID>
git_range: "<range from prompt>"
prompt_used: ../audit-prompt.md
Expand All @@ -118,7 +120,7 @@ findings_by_status:

# Consolidated audit review — <CHARTER-ID>

**Reviewer:** <self-model-id>
**Reviewer:** <calibrator-slug>
**Date:** <YYYY-MM-DD>
**Confidence:** [High | Medium]

Expand Down
9 changes: 6 additions & 3 deletions dist/.claude/skills/straymark-audit-review/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
name: straymark-audit-review
description: Consolidate N external auditor reports into a critical review document with verdicts, remediation plan, and auditor ratings. Then merge the external_audit YAML block into the Charter telemetry. Counterpart of /straymark-audit-prompt and /straymark-audit-execute.
allowed-tools: Read, Write, Glob, Grep, Bash(straymark charter audit *, straymark charter status *, ls *, git diff *, git log *)
argument-hint: "CHARTER-NN [CALIBRATOR-SLUG] (calibrator id is operator-provided, never self-detected)"
---

# StrayMark Audit Review Skill
Expand All @@ -24,7 +25,7 @@ If only some audits have completed, **do not proceed** — invoking the skill wi

### 1. Resolve the Charter and verify report set

Argument: a Charter identifier.
Arguments: a Charter identifier, and an optional `<CALIBRATOR-SLUG>` — `/straymark-audit-review <CHARTER-ID> <CALIBRATOR-SLUG>`. The second argument is the operator-provided identity of the model performing this consolidation (see the calibrator-identity note before the frontmatter block below); it is never inferred from the CLI you are running in.

```bash
ls -la .straymark/audits/<CHARTER-ID>/
Expand Down Expand Up @@ -95,12 +96,14 @@ Mark these as "Missed by all auditors" in the remediation plan.

### 5. Build the consolidated review.md

**Calibrator identity — the operator sets it, never self-perception.** The `calibrator:` and `**Reviewer:**` fields name the **backend model** performing this consolidation. Take it from the optional 2nd argument `<CALIBRATOR-SLUG>` or from what the operator states in chat. The CLI you run inside (Qwen Code, Claude Code, Gemini CLI, …) is a **router, not the model**: writing its product name (`qwen-code`, `gemini-cli`, …) instead of the operator-selected backend model is a defect. Fallback only if the operator provided nothing: ask before writing. **Guard:** before finishing, re-read the written `review.md` and confirm `calibrator:` and `**Reviewer:**` both equal the operator-provided slug — not the CLI product name — and fix them if not.

Write the consolidated analysis to `.straymark/audits/<CHARTER-ID>/review.md` with this structure (six sections, lifted from Sentinel's pre-StrayMark audit-review skill):

```markdown
---
audit_role: calibrator-reconciler
calibrator: <self-model-id>
calibrator: <calibrator-slug>
charter_id: <CHARTER-ID>
git_range: "<range from prompt>"
prompt_used: ../audit-prompt.md
Expand All @@ -120,7 +123,7 @@ findings_by_status:

# Consolidated audit review — <CHARTER-ID>

**Reviewer:** <self-model-id>
**Reviewer:** <calibrator-slug>
**Date:** <YYYY-MM-DD>
**Confidence:** [High | Medium]

Expand Down
8 changes: 5 additions & 3 deletions dist/.codex/skills/straymark-audit-review/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ If only some audits have completed, **do not proceed** — invoking the skill wi

### 1. Resolve the Charter and verify report set

Argument: a Charter identifier.
Arguments: a Charter identifier, and an optional `<CALIBRATOR-SLUG>` — `/straymark-audit-review <CHARTER-ID> <CALIBRATOR-SLUG>`. The second argument is the operator-provided identity of the model performing this consolidation (see the calibrator-identity note before the frontmatter block below); it is never inferred from the CLI you are running in.

```bash
ls -la .straymark/audits/<CHARTER-ID>/
Expand Down Expand Up @@ -94,12 +94,14 @@ Mark these as "Missed by all auditors" in the remediation plan.

### 5. Build the consolidated review.md

**Calibrator identity — the operator sets it, never self-perception.** The `calibrator:` and `**Reviewer:**` fields name the **backend model** performing this consolidation. Take it from the optional 2nd argument `<CALIBRATOR-SLUG>` or from what the operator states in chat. The CLI you run inside (Qwen Code, Claude Code, Gemini CLI, …) is a **router, not the model**: writing its product name (`qwen-code`, `gemini-cli`, …) instead of the operator-selected backend model is a defect. Fallback only if the operator provided nothing: ask before writing. **Guard:** before finishing, re-read the written `review.md` and confirm `calibrator:` and `**Reviewer:**` both equal the operator-provided slug — not the CLI product name — and fix them if not.

Write the consolidated analysis to `.straymark/audits/<CHARTER-ID>/review.md` with this structure (six sections, lifted from Sentinel's pre-StrayMark audit-review skill):

```markdown
---
audit_role: calibrator-reconciler
calibrator: <self-model-id>
calibrator: <calibrator-slug>
charter_id: <CHARTER-ID>
git_range: "<range from prompt>"
prompt_used: ../audit-prompt.md
Expand All @@ -119,7 +121,7 @@ findings_by_status:

# Consolidated audit review — <CHARTER-ID>

**Reviewer:** <self-model-id>
**Reviewer:** <calibrator-slug>
**Date:** <YYYY-MM-DD>
**Confidence:** [High | Medium]

Expand Down
8 changes: 5 additions & 3 deletions dist/.gemini/skills/straymark-audit-review/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ If only some audits have completed, **do not proceed** — invoking the skill wi

### 1. Resolve the Charter and verify report set

Argument: a Charter identifier.
Arguments: a Charter identifier, and an optional `<CALIBRATOR-SLUG>` — `/straymark-audit-review <CHARTER-ID> <CALIBRATOR-SLUG>`. The second argument is the operator-provided identity of the model performing this consolidation (see the calibrator-identity note before the frontmatter block below); it is never inferred from the CLI you are running in.

```bash
ls -la .straymark/audits/<CHARTER-ID>/
Expand Down Expand Up @@ -94,12 +94,14 @@ Mark these as "Missed by all auditors" in the remediation plan.

### 5. Build the consolidated review.md

**Calibrator identity — the operator sets it, never self-perception.** The `calibrator:` and `**Reviewer:**` fields name the **backend model** performing this consolidation. Take it from the optional 2nd argument `<CALIBRATOR-SLUG>` or from what the operator states in chat. The CLI you run inside (Qwen Code, Claude Code, Gemini CLI, …) is a **router, not the model**: writing its product name (`qwen-code`, `gemini-cli`, …) instead of the operator-selected backend model is a defect. Fallback only if the operator provided nothing: ask before writing. **Guard:** before finishing, re-read the written `review.md` and confirm `calibrator:` and `**Reviewer:**` both equal the operator-provided slug — not the CLI product name — and fix them if not.

Write the consolidated analysis to `.straymark/audits/<CHARTER-ID>/review.md` with this structure (six sections, lifted from Sentinel's pre-StrayMark audit-review skill):

```markdown
---
audit_role: calibrator-reconciler
calibrator: <self-model-id>
calibrator: <calibrator-slug>
charter_id: <CHARTER-ID>
git_range: "<range from prompt>"
prompt_used: ../audit-prompt.md
Expand All @@ -119,7 +121,7 @@ findings_by_status:

# Consolidated audit review — <CHARTER-ID>

**Reviewer:** <self-model-id>
**Reviewer:** <calibrator-slug>
**Date:** <YYYY-MM-DD>
**Confidence:** [High | Medium]

Expand Down
2 changes: 1 addition & 1 deletion dist/.straymark/00-governance/AGENT-RULES.md
Original file line number Diff line number Diff line change
Expand Up @@ -412,4 +412,4 @@ When a project accumulates a high volume of AILOGs across multiple Charters and

---

*StrayMark fw-4.33.0 | [Strange Days Tech](https://strangedays.tech)*
*StrayMark fw-4.34.0 | [Strange Days Tech](https://strangedays.tech)*
2 changes: 1 addition & 1 deletion dist/.straymark/00-governance/C4-DIAGRAM-GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -234,4 +234,4 @@ Use a Level 1 (Context) diagram to illustrate:

---

*StrayMark fw-4.33.0 | [Strange Days Tech](https://strangedays.tech)*
*StrayMark fw-4.34.0 | [Strange Days Tech](https://strangedays.tech)*
2 changes: 1 addition & 1 deletion dist/.straymark/00-governance/DOCUMENTATION-POLICY.md
Original file line number Diff line number Diff line change
Expand Up @@ -319,4 +319,4 @@ See also [ADR-2025-01-20-001] for architectural context.

---

*StrayMark fw-4.33.0 | [Strange Days Tech](https://strangedays.tech)*
*StrayMark fw-4.34.0 | [Strange Days Tech](https://strangedays.tech)*
Original file line number Diff line number Diff line change
Expand Up @@ -316,4 +316,4 @@ Contributed via [issue #111](https://github.com/StrangeDaysTech/straymark/issues

---

*StrayMark fw-4.33.0 | [Strange Days Tech](https://strangedays.tech)*
*StrayMark fw-4.34.0 | [Strange Days Tech](https://strangedays.tech)*
2 changes: 1 addition & 1 deletion dist/.straymark/00-governance/QUICK-REFERENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -262,4 +262,4 @@ Mark `review_required: true` when:

---

*StrayMark fw-4.33.0 | [Strange Days Tech](https://strangedays.tech)*
*StrayMark fw-4.34.0 | [Strange Days Tech](https://strangedays.tech)*
2 changes: 1 addition & 1 deletion dist/.straymark/00-governance/i18n/es/AGENT-RULES.md
Original file line number Diff line number Diff line change
Expand Up @@ -412,4 +412,4 @@ Cuando un proyecto acumula un volumen alto de AILOGs a lo largo de múltiples Ch

---

*StrayMark fw-4.33.0 | [Strange Days Tech](https://strangedays.tech)*
*StrayMark fw-4.34.0 | [Strange Days Tech](https://strangedays.tech)*
2 changes: 1 addition & 1 deletion dist/.straymark/00-governance/i18n/es/C4-DIAGRAM-GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -234,4 +234,4 @@ Usar un diagrama de Nivel 1 (Contexto) para ilustrar:

---

*StrayMark fw-4.33.0 | [Strange Days Tech](https://strangedays.tech)*
*StrayMark fw-4.34.0 | [Strange Days Tech](https://strangedays.tech)*
Original file line number Diff line number Diff line change
Expand Up @@ -312,4 +312,4 @@ Ver también [ADR-2025-01-20-001] para contexto arquitectónico.

---

*StrayMark fw-4.33.0 | [Strange Days Tech](https://strangedays.tech)*
*StrayMark fw-4.34.0 | [Strange Days Tech](https://strangedays.tech)*
Original file line number Diff line number Diff line change
Expand Up @@ -316,4 +316,4 @@ Contribuido vía [issue #111](https://github.com/StrangeDaysTech/straymark/issue

---

*StrayMark fw-4.33.0 | [Strange Days Tech](https://strangedays.tech)*
*StrayMark fw-4.34.0 | [Strange Days Tech](https://strangedays.tech)*
2 changes: 1 addition & 1 deletion dist/.straymark/00-governance/i18n/es/QUICK-REFERENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -234,4 +234,4 @@ Marcar `review_required: true` cuando:

---

*StrayMark fw-4.33.0 | [Strange Days Tech](https://strangedays.tech)*
*StrayMark fw-4.34.0 | [Strange Days Tech](https://strangedays.tech)*
2 changes: 1 addition & 1 deletion dist/.straymark/00-governance/i18n/zh-CN/AGENT-RULES.md
Original file line number Diff line number Diff line change
Expand Up @@ -407,4 +407,4 @@ confidence: high | medium | low

---

*StrayMark fw-4.33.0 | [Strange Days Tech](https://strangedays.tech)*
*StrayMark fw-4.34.0 | [Strange Days Tech](https://strangedays.tech)*
Original file line number Diff line number Diff line change
Expand Up @@ -234,4 +234,4 @@ Rel(api, db, "Reads/Writes", "SQL")

---

*StrayMark fw-4.33.0 | [Strange Days Tech](https://strangedays.tech)*
*StrayMark fw-4.34.0 | [Strange Days Tech](https://strangedays.tech)*
Original file line number Diff line number Diff line change
Expand Up @@ -311,4 +311,4 @@ review_outcome: approved # approved | revisions_requested | rejec

---

*StrayMark fw-4.33.0 | [Strange Days Tech](https://strangedays.tech)*
*StrayMark fw-4.34.0 | [Strange Days Tech](https://strangedays.tech)*
Original file line number Diff line number Diff line change
Expand Up @@ -316,4 +316,4 @@ straymark followups promote FU-NNN # 自动化 FU → TDE 提升(见上

---

*StrayMark fw-4.33.0 | [Strange Days Tech](https://strangedays.tech)*
*StrayMark fw-4.34.0 | [Strange Days Tech](https://strangedays.tech)*
Original file line number Diff line number Diff line change
Expand Up @@ -234,4 +234,4 @@ risk_level: low | medium | high | critical

---

*StrayMark fw-4.33.0 | [Strange Days Tech](https://strangedays.tech)*
*StrayMark fw-4.34.0 | [Strange Days Tech](https://strangedays.tech)*
2 changes: 1 addition & 1 deletion dist/dist-manifest.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: "4.33.0"
version: "4.34.0"
description: "StrayMark distribution manifest"
repository: "https://github.com/StrangeDaysTech/straymark"

Expand Down
2 changes: 1 addition & 1 deletion docs/adopters/CLI-REFERENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ StrayMark uses **independent version tags** for each component:

| Component | Tag prefix | Example | What it includes |
|-----------|-----------|---------|------------------|
| Framework | `fw-` | `fw-4.33.0` | Templates (12 types), governance docs, directives, Charter template + schema |
| Framework | `fw-` | `fw-4.34.0` | Templates (12 types), governance docs, directives, Charter template + schema |
| CLI | `cli-` | `cli-3.30.0` | The `straymark` binary |
| Loom (EXPERIMENTAL) | `loom-` | `loom-0.4.2` | The `straymark-loom` visualization server, downloaded on demand by `straymark loom serve` |

Expand Down
2 changes: 1 addition & 1 deletion docs/i18n/es/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ StrayMark usa tags de versión independientes para cada componente:

| Componente | Prefijo de tag | Ejemplo | Incluye |
|------------|---------------|---------|---------|
| Framework | `fw-` | `fw-4.33.0` | Plantillas (12 tipos), gobernanza, directivas, plantilla + schema de Charter |
| Framework | `fw-` | `fw-4.34.0` | Plantillas (12 tipos), gobernanza, directivas, plantilla + schema de Charter |
| CLI | `cli-` | `cli-3.30.0` | El binario `straymark` |
| Loom (EXPERIMENTAL) | `loom-` | `loom-0.4.2` | El servidor de visualización `straymark-loom`, descargado bajo demanda por `straymark loom serve` |

Expand Down
2 changes: 1 addition & 1 deletion docs/i18n/es/adopters/CLI-REFERENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ StrayMark usa **tags de versión independientes** para cada componente:

| Componente | Prefijo de tag | Ejemplo | Qué incluye |
|------------|---------------|---------|-------------|
| Framework | `fw-` | `fw-4.33.0` | Plantillas (12 tipos), docs de gobernanza, directivas |
| Framework | `fw-` | `fw-4.34.0` | Plantillas (12 tipos), docs de gobernanza, directivas |
| CLI | `cli-` | `cli-3.30.0` | El binario `straymark` |
| Loom (EXPERIMENTAL) | `loom-` | `loom-0.4.2` | El servidor de visualización `straymark-loom`, descargado bajo demanda por `straymark loom serve` |

Expand Down
2 changes: 1 addition & 1 deletion docs/i18n/zh-CN/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ StrayMark 为每个组件使用独立的版本标签:

| 组件 | 标签前缀 | 示例 | 包含内容 |
|------|----------|------|----------|
| Framework | `fw-` | `fw-4.33.0` | 模板(12 种类型)、治理文档、指令、Charter 模板 + schema |
| Framework | `fw-` | `fw-4.34.0` | 模板(12 种类型)、治理文档、指令、Charter 模板 + schema |
| CLI | `cli-` | `cli-3.30.0` | `straymark` 二进制文件 |
| Loom(实验性) | `loom-` | `loom-0.4.2` | `straymark-loom` 可视化服务器,由 `straymark loom serve` 按需下载 |

Expand Down
2 changes: 1 addition & 1 deletion docs/i18n/zh-CN/adopters/CLI-REFERENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ StrayMark 为每个组件使用**独立的版本标签**:

| 组件 | 标签前缀 | 示例 | 包含内容 |
|------|----------|------|----------|
| Framework | `fw-` | `fw-4.33.0` | 模板(12 种类型)、治理文档、指令 |
| Framework | `fw-` | `fw-4.34.0` | 模板(12 种类型)、治理文档、指令 |
| CLI | `cli-` | `cli-3.30.0` | `straymark` 二进制文件 |
| Loom(实验性) | `loom-` | `loom-0.4.2` | `straymark-loom` 可视化服务器,由 `straymark loom serve` 按需下载 |

Expand Down