docs(voyage): document v4.1 profiles + observability + doc-consistency-pinning
Step 22 of v4.1 — write top-level docs for the v4.1 feature surface.
Files updated:
CLAUDE.md — Commands tables: add --profile to all 6 modes
+ new ## Profile system + ## Observability sections
README.md — per-command Modes tables: add --profile row
+ new top-level ## Profile system + ## Observability
+ cross-link from ## Cost profile
CHANGELOG.md — new "## v4.1.0 — 2026-05-09" entry per Keep-a-Changelog 1.1.0
(Added / Changed / Fixed / Notes)
docs/profiles.md — NEW: 168-line decision tree, lookup precedence,
custom-profile authoring, drift detection,
cost-estimation table with disclaimer
tests/lib/doc-consistency.test.mjs — extend with 5 new pinning tests:
CLAUDE.md --profile + phase_models canonical name,
README.md --profile coverage (≥ 6 mentions),
CHANGELOG.md v4.1.0 entry, docs/profiles.md substantive
ROADMAP.md is gitignored per marketplace policy (sesjonsfiler) — local
edit applied for v4.1 DONE marker, not committed.
Plan-critic Blocker 2 split is honored: Step 21 pinned commands-only;
Step 22 writes the docs and pins them. doc-consistency.test.mjs is
green AFTER Step 22 (would have failed if Step 22 ran in same wave).
Tests: 487 pass + 2 skipped (Docker not installed).
This commit is contained in:
parent
e440ca858c
commit
f2f8246e01
5 changed files with 394 additions and 0 deletions
|
|
@ -4,6 +4,73 @@ All notable changes to this project will be documented in this file.
|
|||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
||||
|
||||
## v4.1.0 — 2026-05-09
|
||||
|
||||
**Additive. No breaking changes. Forward-compat with all v4.0.0 plans.**
|
||||
|
||||
Two new feature surfaces: model profiles (`--profile <name>`) and
|
||||
opt-in OpenTelemetry / Prometheus export at session-end.
|
||||
|
||||
### Added
|
||||
|
||||
- **Model profile system** (`lib/profiles/{economy,balanced,premium}.yaml`,
|
||||
`lib/profiles/resolver.mjs`, `lib/validators/profile-validator.mjs`).
|
||||
Three built-in tiers + custom-yaml support. Lookup order: explicit
|
||||
`--profile` flag → plan frontmatter `profile:` → `VOYAGE_PROFILE`
|
||||
env-var → `balanced` default. See `docs/profiles.md` for the decision
|
||||
tree, custom authoring, and cost estimation disclaimer.
|
||||
- **`--profile <name>` flag** documented in all 6 pipeline commands
|
||||
(`commands/trek{brief,research,plan,execute,review,continue}.md`).
|
||||
- **5 additive profile fields** in JSONL stats (`profile`,
|
||||
`profile_source`, `phase_models`, `model_used`,
|
||||
`phase_models_resolved`) for cost-attribution and drift detection.
|
||||
- **OpenTelemetry / Prometheus export** at session-end via new Stop
|
||||
hook (`hooks/scripts/otel-export.mjs`, wired in `hooks/hooks.json`).
|
||||
Strict opt-in via `VOYAGE_EXPORT_MODE`:
|
||||
- `textfile` — Prometheus exposition format → node-exporter textfile
|
||||
- `otlp` — OTLP/JSON POST → otel-collector
|
||||
- `off` (default) — no work done
|
||||
- **Local Docker Compose stack** at `examples/observability/`
|
||||
(Prometheus 3.0.1 + node-exporter 1.10.2 + Grafana 11.4.0 + OTel
|
||||
Collector 0.115.0, all version-pinned per research/01).
|
||||
- **Operator documentation** at `docs/observability.md` (151 lines:
|
||||
env-var matrix, security mitigations, limitations, CVE-pinned
|
||||
minimum versions).
|
||||
- **Cross-tier Jaccard smoke test**
|
||||
(`tests/integration/profile-jaccard-smoke.test.mjs`) with parked-
|
||||
synthetic fixtures and 0.55 conservative starting threshold per
|
||||
research/02. Empirical recalibration deferred to v4.2.
|
||||
- **MANIFEST_PROFILE_DRIFT warning** in `plan-validator --strict`
|
||||
when plan frontmatter `profile:` differs from any step manifest's
|
||||
`profile_used`. Plan remains valid (warning, not error).
|
||||
|
||||
### Changed
|
||||
|
||||
- **`lib/parsers/arg-parser.mjs` FLAG_SCHEMA** — additively adds
|
||||
`--profile <name>` to all 6 commands. Existing flags unchanged.
|
||||
- **`lib/parsers/manifest-yaml.mjs` schema** — additively adds new
|
||||
`OPTIONAL_STRING_KEYS` collection with `profile_used` as the first
|
||||
member. Forward-compat: legacy plans without `profile_used` parse
|
||||
unchanged; new plans with it round-trip cleanly.
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Doc-consistency coverage** now spans all 6 pipeline commands
|
||||
(was 5 — `/trekcontinue` was missing per HIGH risk-assessor).
|
||||
- **Plan-validator strict mode** detects profile-drift between plan-
|
||||
level frontmatter and step-level manifests (brief Assumptions
|
||||
block 7).
|
||||
|
||||
### Notes
|
||||
|
||||
- Forward-compat: every v4.0.0 plan validates `valid: true` under
|
||||
v4.1.0's `plan-validator --strict`. No migration needed.
|
||||
- Tests: 361 baseline → 484 pass + 2 skipped (Docker-dependent).
|
||||
- Path A/B/C decision (v3.4.0) is unchanged. Path C remains closed.
|
||||
- v4.2 deferred items: ROUGE-L scoring, char-4gram MinHash, empirical
|
||||
Jaccard re-calibration, `balanced.external_research_enabled`
|
||||
operator-override.
|
||||
|
||||
## v4.0.0 — 2026-05-05
|
||||
|
||||
**Breaking. Rebrand. No migration path.**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue