First npm release since 2.5.3 — an 89-commit catch-up. Highlights:
Added
- Unified local viewer —
/archie-viewernow runs the same React UI as the hosted share viewer. Blueprint + Files tabs, per-folder CLAUDE.md browser, click-to-view generated-files tree, an inline rule-management dashboard, and a "Fix this" button that generates agent-agnostic fix prompts for findings & pitfalls. - Anonymous, opt-in usage telemetry + npm update checks —
config.py,telemetry_sync.py,update_check.py,analytics.py. Consent is asked in-session by the slash commands (via a shared_shared/telemetry-consent.mdfragment), not by thenpxinstall — so CI / pipe / agent installs can't silently skip it. Three tiers: community / anonymous / off. /archie-deep-scanis now a modular skill — aSKILL.mdrouter plus self-contained per-step files and fragments. The long pipeline survives/compactand resumes mid-run (--continue,--from N).- Rich rules pipeline — rules carry inline
severity_class/why/example/forced_by-enables-alternative; the rule synthesizer is the single producer of the unified shape;rule_index.pypre-computes a hot-path enforcement index. ARCHIE_TELEMETRY_ENDPOINTenv override so test runs can't hit production.
Changed
AGENTS.mdis now the canonical agent context;CLAUDE.mdis a thin pointer to it..claude/rules/topic files plus a browsableenforcement/directory.- Installer hardening — Node 18+ preflight, rejects unknown flags +
--help, builds the local viewer at install time (cached by version). - README + ARCHITECTURE.md fully resynced with the current architecture.
Fixed
JUST_UPGRADEDno longer prints "X → X" (installer overwrote the version marker beforemark-upgradedre-read it)./archie-scantelemetry runs are now actually uploaded — the legacytelemetry.pypath never fired the sync.config.py should-promptanswers via a stdout token, so a crash can't masquerade as "already prompted".- Non-interactive installs surface a clear notice instead of silently skipping telemetry consent.
- Deep-scan Phase 0 scope + Intent Layer prompts are mandatory decision gates, not skippable clarifying questions.
- A degenerate
from == toupgrade marker is dropped instead of emitted.
Full changelog: v2.5.3...v2.6.0