Skip to content

Commit 13c82c5

Browse files
montfortclaude
andauthored
chore(loom): A2.5 — release loom-0.5.0 (Architecture Plan view) (#265)
Closes the Architecture Plan MVP (Spec 002). A2.0–A2.4 + the #262 hygiene fix are merged; this carries the release: bump straymark-loom + straymark-loom-web 0.4.2 → 0.5.0, the CHANGELOG `## [0.5.0]` entry, and the spec/tasks acceptance. Acceptance (verified on the Sentinel + demo dogfoods): - §11.2 overlay lit/shaded/dimmed (active/in-progress/implemented/has-debt/ uncharted colors on the Sentinel plan); - §11.3 geometry preserved verbatim (the plan.drawio is parsed + served unchanged; status is a client-side color only, NFR1); - §11.4 layer toggle hides/shows cells; - §11.5 component + "where are we" panels (textual half gated by A1.4's consistency test); - §11.6 live overlay < ~1s (A2.2 WS architecture event). straymark-core stays 0.6.0 (architecture::gather + graph::RefKind), built against the local workspace; it publishes to crates.io with the next cli- release. release-loom.yml builds the frontend + 4-platform binaries (no crates.io). 719 tests; tsc + vite build clean. Next: A3 (axonometric/BIM exploded view, north star). Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 2dd3216 commit 13c82c5

6 files changed

Lines changed: 58 additions & 13 deletions

File tree

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

experimento/CHANGELOG.md

Lines changed: 36 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,44 @@ project adheres to [Semantic Versioning](https://semver.org/).
1313
## [Unreleased]
1414

1515
### Planned — Architecture Plan view (Spec 002)
16-
- A1: `straymark-core` "you are here" status projection (component state by file-glob match
17-
over active/closed Charters, drift, TDE, declared-vs-wired) + `straymark architecture
18-
generate|sync|validate` + `/api/where`.
19-
- A2: maxGraph rendering of a human-authored `plan.drawio` with a non-destructive status
20-
overlay, layer toggle, component panel, and cross-linking with the Knowledge Graph.
2116
- A3 (north star): axonometric/BIM exploded-layers view.
2217

18+
## [0.5.0] — 2026-06-16 (Architecture Plan view — A2)
19+
20+
The visual half of the Architecture Plan (Spec 002): the human-authored `plan.drawio` rendered
21+
with maxGraph and overlaid **live** with the "you are here" status the CLI's `status --where`
22+
computes — one shared projection (`core::architecture::project`), so the visual and textual
23+
answers can't disagree (NFR3). Plus a knowledge-graph hygiene fix (#262). (A1 — the CLI's
24+
`architecture generate|sync|validate` + `status --where` — shipped earlier under `cli-3.25.0`.)
25+
26+
### Added
27+
- **Architecture Plan view** — a second top-level view (Knowledge Graph | Architecture tabs).
28+
maxGraph loads `architecture/plan.drawio` preserving the human geometry (NFR1) and applies the
29+
§4 status as non-destructive cell colors keyed on `straymark_component_id`.
30+
- **Server API** (Spec 002 §7): `GET /api/architecture`, `/api/architecture/component/{id}`,
31+
`/api/where`, `/api/architecture/plan.drawio`; the watcher pushes an `architecture` delta over
32+
the shared `WS /api/stream` when governance / `model.yml` / `plan.drawio` change (FR6).
33+
- **Panels & navigation**: a "where are we" panel (active Charter + declared-vs-modified
34+
progress + recent AILOGs + open debt), a per-layer toggle, a component detail panel (states +
35+
owned files + the Charters that touch it), and cross-view links into the Knowledge Graph;
36+
fit-to-view, wheel-zoom, +/−/fit buttons, and left-button drag-to-pan.
37+
- `--arch-dir` flag on the loom binary (the model dir, split from the project root) so a
38+
non-installed / dogfood layout resolves.
39+
- i18n (en / es / zh-CN) for every new UI string.
40+
41+
### Changed
42+
- **Knowledge-graph hygiene (#262):** the dangling-references panel now classifies unresolved
43+
targets — **broken governance links** (ids that should resolve) are split from **file
44+
references** (paths to code/specs/sidecars) and **external links** (URLs). On the Sentinel
45+
corpus this drops the panel from 92 false alarms to **0** real broken links. PLAN telemetry
46+
(`*.telemetry.yaml`) **nested** relations (`plan_telemetry.originating_ailogs[].ailog_id`) are
47+
now parsed into edges, de-orphaning the PLAN nodes.
48+
49+
### Core
50+
- Requires `straymark-core` 0.6.0 — new `architecture::gather` (the impure
51+
`build_governance_state` shared by the CLI and Loom) and `graph::{RefKind, classify_reference}`.
52+
Built against the local workspace; published to crates.io with the next `cli-` release.
53+
2354
## [0.4.2] — 2026-06-14 (R3: legibility at 100+ nodes)
2455

2556
### Added

experimento/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "straymark-loom"
3-
version = "0.4.2"
3+
version = "0.5.0"
44
edition = "2021"
55
description = "Loom — StrayMark's experimental knowledge-graph visualization server (localhost development dashboard)"
66
license = "MIT"

experimento/specs/002-architecture-plan/spec.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,12 @@ are linked:
205205
6. A change to the active Charter's "Files to modify" (or a new commit moving drift) updates
206206
the overlay live (< ~1s) (FR6/NFR3).
207207

208+
> **Status (2026-06-16): MVP done — all 6 met.** Criteria 1 and the textual half of 5 shipped
209+
> in **`cli-3.25.0`** (A1: `architecture generate|sync|validate` + `status --where`). Criteria
210+
> 2, 3, 4, the visual half of 5, and 6 shipped in **`loom-0.5.0`** (A2: the maxGraph plan view +
211+
> panels + live overlay), verified on the Sentinel + demo dogfoods. Next is **A3** (the
212+
> axonometric/BIM exploded view, north star — §12).
213+
208214
## 12. Phasing (slots into the shared Loom phasing in `../001-loom-server/plan.md`)
209215

210216
- **A1 — Model + generator + projection.** `straymark-core` status projection (pure) +

experimento/specs/002-architecture-plan/tasks.md

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -316,11 +316,19 @@
316316
big plan fits any window, wheel-zoom, +/−/fit buttons, and left-button drag-to-pan
317317
(`PanningHandler.useLeftButtonForPanning` + `ignoreCell`; `setPanning(true)` alone only pans on
318318
the right button). Both surfaced during the Sentinel dogfood.
319-
- [ ] **A2.5 — Acceptance + release.** Spec §11.2 (lit/shaded/dimmed overlay), §11.3 (DrawIO
320-
round-trip lossless — edit `plan.drawio` in real DrawIO, reload, geometry + overlay intact),
321-
§11.4 (layer toggle), §11.6 (live overlay < ~1s). Dogfood on `experimento/architecture/`.
322-
`experimento/CHANGELOG.md` + bump `experimento/Cargo.toml`; PR → merge → tag **`loom-0.5.0`**.
323-
Update spec §11 acceptance + the Loom memory note (A2 done, next = A3 axonometric north star).
319+
- [x] **A2.5 — Acceptance + release.** Acceptance verified during the Sentinel + demo dogfoods:
320+
**§11.2** overlay lit/shaded/dimmed ✓ (active=green, in-progress=yellow, implemented=blue,
321+
has-debt=magenta, uncharted=grey on the Sentinel plan); **§11.3** geometry preserved verbatim
322+
✓ (we parse `plan.drawio` x/y/w/h directly and re-emit nothing — the server serves the file
323+
unchanged, so a real-DrawIO round-trip is lossless by construction; status is only ever a
324+
client-side color, NFR1); **§11.4** layer toggle ✓ (unchecking a layer hides its cells via
325+
`model.setVisible`); **§11.5** component panel + "where are we" panel, the textual half gated
326+
by `where_is_consistent_with_charter_list` (A1.4); **§11.6** live overlay < ~1s ✓ (A2.2 WS
327+
`architecture` event e2e). Bumped `experimento/Cargo.toml` + `web/package.json` 0.4.2→**0.5.0**;
328+
`experimento/CHANGELOG.md` `## [0.5.0]` (A2 + the #262 hygiene fix). PR → merge → tag
329+
**`loom-0.5.0`** (`release-loom.yml` builds the frontend + 4-platform binaries; no crates.io).
330+
Visual criteria §11.2/3/4/6 done; A2 closes the Architecture Plan MVP. Next = **A3** (north
331+
star, axonometric/BIM exploded view).
324332

325333
## A3 — Axonometric/BIM exploded view (north star, post-MVP)
326334

experimento/web/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "straymark-loom-web",
33
"private": true,
4-
"version": "0.4.2",
4+
"version": "0.5.0",
55
"type": "module",
66
"scripts": {
77
"dev": "vite",

0 commit comments

Comments
 (0)