Skip to content

feat(framework): fw-4.29.0 — agent-native skills for architecture + Loom lifecycle (closes #281)#297

Merged
montfort merged 1 commit into
mainfrom
feat/architecture-loom-skills
Jun 20, 2026
Merged

feat(framework): fw-4.29.0 — agent-native skills for architecture + Loom lifecycle (closes #281)#297
montfort merged 1 commit into
mainfrom
feat/architecture-loom-skills

Conversation

@montfort

Copy link
Copy Markdown
Contributor

Closes #281.

What

Three agent-native skills wrapping the EXPERIMENTAL architecture/Loom CLI surface — the terminal-free counterpart to the manual DrawIO refinement path. The underlying commands (architecture generate|sync|validate, loom serve) already shipped; this adds the skills so an adopter can drive generate → refine → loom up from the agent window without editing YAML/DrawIO or opening a shell.

Skill Purpose
/straymark-architecture Drives generate → refine → validate in one guided pass: seeds the model, reassigns components out of unassigned into real layers, infers dependency links, syncs plan.drawio (vertices + edges), iterates validate to green.
/straymark-architecture-sync Append-only keep-alive over architecture sync — dry-run, surface new dirs/components, confirm, --apply, re-validate.
/straymark-loom Loom server lifecycle (up/down/status) on 127.0.0.1:7700; launches loom serve --no-open in the background and hands the operator a link.

The headline skill pre-encodes the Sentinel refinement gotchas (PR #142) so no future agent re-hits them: component.id must not equal a layer.id; links is a list of string ids (not objects); 3D edges come from model.yml links while 2D edges come from plan.drawio; never delete a layer a component still points at.

Corrections vs. the issue text (verified against code)

  • Loom's default port is 7700 (main.rs, default_value_t = 7700), not 7779 — the skill reports 7700.
  • The unassigned layer is not schema-required (core/src/architecture/model.rs only enforces unique ids + that every component.layer names an existing layer). The real gotcha — don't drop a layer a component still references — is what the skill encodes.

How

  • 3 skills × 4 variants. .claude (with allowed-tools), .gemini and .agent/workflows authored by hand; .codex regenerated via gen_codex_skills (CI --check clean, 15 skills in sync).
  • New cli/tests/architecture_skill_test.rs — four-variant frontmatter contract + per-skill core-guidance assertions (6 tests).
  • Docs: README / WORKFLOWS / QUICK-REFERENCE / LOOM adopter guide, EN + es + zh-CN.
  • Framework bump fw-4.29.0: dist-manifest.yml, CHANGELOG, governance footers (EN+es+zh-CN), version tables.

Verification

  • cargo test — full workspace suite green (incl. the 6 new skill tests).
  • cargo build --release — clean.
  • gen_codex_skills --check — in sync (15 skills).
  • Dogfood with the release binary: architecture generate → seed written; architecture validate → consistent (exit 0); loom serve --port 7700HTTP/1.1 200 OK.

🤖 Generated with Claude Code

…oom lifecycle (closes #281)

Add three skills wrapping the architecture/Loom CLI surface, the terminal-free
counterpart to the manual DrawIO refinement path:

- /straymark-architecture — generate → refine → validate in one guided pass,
  with the Sentinel refinement gotchas pre-encoded (component.id != layer.id,
  links as string ids, dual 2D/3D edges, never drop a referenced layer).
- /straymark-architecture-sync — append-only keep-alive over `architecture sync`.
- /straymark-loom — Loom server lifecycle (up/down/status) on :7700, terminal-free.

All three ship across .claude/.gemini/.codex/.agent (.codex regenerated via
gen_codex_skills). Adds architecture_skill_test.rs (four-variant frontmatter +
core-guidance assertions). Docs updated in README/WORKFLOWS/QUICK-REFERENCE/LOOM
(EN+es+zh-CN). Bumps framework to fw-4.29.0 (manifest, CHANGELOG, governance
footers, version tables).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@montfort montfort merged commit 3c094c0 into main Jun 20, 2026
2 checks passed
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.

Proposal: agent-native skills for the architecture model (generate→refine) + Loom lifecycle (terminal-free adopter path)

1 participant