Skip to content

Groove SPEC §8.1 discovery panel (AffineScript) + frozen-backend dialect keep-alive#90

Merged
hyperpolymath merged 1 commit into
mainfrom
claude/cleave-spline-groove-arch-4zq111
Jul 17, 2026
Merged

Groove SPEC §8.1 discovery panel (AffineScript) + frozen-backend dialect keep-alive#90
hyperpolymath merged 1 commit into
mainfrom
claude/cleave-spline-groove-arch-4zq111

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

Phase 2 of the joinery program (standards#252-adjacent estate line; follows the merged Phase-1 set: cleave#4, groove#6, burble#153, gossamer#104, spline#4, standards#478). PanLL gains the discovery panel groove SPEC §8.1 asks for — authored in AffineScript per the 2026-07-09 estate ruling (new panels are AffineScript, not ReScript) — and the frozen-legacy backend gets the minimal wire-dialect keep-alive patch approved after a PMI review.

Changes

  • src/ui/tea/groove_discovery.affine (new): the SPEC §8.1 discovery UI — discovered systems, active connections with lease modes (SPEC v0.3 §4.6), mesh topology, hash-linked attestation chain — in the sibling .affine TEA idiom (linear Model/Msg, list-consuming refreshes so stale rows cannot survive a transition). Authored-canonical, awaiting toolchain, like the other 17 .affine modules: the ReScript chain deliberately gains no new panel wiring; the runnable form today is groove/harness/groove-panel-template/panel.html against a live provider.
  • src-gossamer/src/groove.rs (frozen-legacy keep-alive, constants + manifest string only):
    • manifest gains "mode":"active" (SPEC §2.1.1); feedback capability retyped to the registered dogfood-feedback; health-mesh type now registered in groove-registry (groove-repo PR pairs with this one)
    • MESH_PROBE_PORTS [6473, 8080, 8081, 8091-8093] probed a moved service (verisimdb → 6475) and three unmapped ports — the mesh view was factually wrong. Now the registry's groove-discovery surfaces [6465, 6470, 6473, 6475, 6480, 9000, 9090] (two-plane rule: app-plane URLs like VeriSimDB's :8080 API are deliberately unchanged)
    • stale Tauri comment corrected to Gossamer
  • src-gossamer/STATUS.adoc: records the owner decision (2026-07-09, after a PMI review) that wire-dialect keep-alive is a permitted change class — so this question never needs re-litigating at a dialect bump.
  • HISTORICAL banners on GROOVE_PANLL_RESEARCH_SUMMARY.md and TRANSMUTABLE_PANEL_ARCHITECTURE.md (2024 Mistral-Vibe era; superseded-by pointers to the joinery canon; kept for provenance, never deleted).

RSR Quality Checklist

Required

  • Tests pass — no runtime code path changed that local tooling can exercise; .affine modules await the toolchain (same status as the existing 17); groove.rs is constants/manifest-string only
  • Code is formatted (matches sibling idiom)
  • Linter is clean
  • No banned language patterns (panel is AffineScript per estate ruling — no new ReScript/TS)
  • No unsafe blocks
  • No banned functions
  • SPDX license headers present on new files (MPL-2.0)
  • No secrets or credentials

As Applicable

  • Documentation updated (HISTORICAL banners; STATUS.adoc policy line)
  • .machine_readable/STATE.a2ml — unchanged (panel activates with the AffineScript toolchain or panel-clades; flagged below)

Testing

  • Runnable §8.1 verification path: browser harness (groove/harness/groove-panel-template/panel.html) against a live reference provider (cargo run -p groove-provider) — the harness now hashes attestations with real WebCrypto SHA-256 (groove-repo PR).
  • groove.rs changes are constants + a static string; the frozen backend's build is keep-alive-covered by its existing CI.

Flags for the owner

  • The panel's PanLL-native activation lands with the AffineScript build path (or panel-clades, whichever first — the latter still gated on the Axiom.jl decision).
  • The paired groove-repo PR registers health-mesh and carries PROOFS-1 + signing vectors; merge order is flexible (nothing here breaks without it — the type is only validated repo-side there).

🤖 Generated with Claude Code

https://claude.ai/code/session_01ECjSL2nqzn3qJEzA28V4m5


Generated by Claude Code

…ect keep-alive

Panel: src/ui/tea/groove_discovery.affine — the discovery UI the groove
spec asks PanLL to provide (discovered systems, connections with lease
modes per SPEC v0.3 §4.6, mesh, hash-linked attestations), authored in
the sibling .affine TEA idiom with linear Model/Msg. AUTHORED-CANONICAL,
AWAITING TOOLCHAIN like the other 17 .affine modules: the ReScript chain
deliberately gains no new panel wiring (estate ruling 2026-07-09: new
panels are AffineScript); the runnable form today is the browser harness
(groove/harness/groove-panel-template) against a live provider.

Frozen-legacy keep-alive (src-gossamer/STATUS.adoc permits security/
build-keep-alive; owner PMI decision 2026-07-09 adds wire-dialect
keep-alive, now recorded in STATUS.adoc so this never needs re-litigating):
- groove.rs manifest: add "mode":"active" (SPEC §2.1.1); feedback
  capability retyped to the registered "dogfood-feedback"; health-mesh
  stays and its type is now REGISTERED in groove-registry.json.
- MESH_PROBE_PORTS: [6473, 8080, 8081, 8091-8093] probed a moved service
  (verisimdb → 6475) and three unmapped ports — the mesh view was wrong.
  Now the registry's groove-discovery surfaces (two-plane rule: app-plane
  URLs like VeriSimDB's :8080 API are deliberately unchanged).
- Stale Tauri comment corrected to Gossamer.

Docs: HISTORICAL banners on GROOVE_PANLL_RESEARCH_SUMMARY.md and
TRANSMUTABLE_PANEL_ARCHITECTURE.md (2024 Mistral-Vibe era; superseded by
the joinery canon — pointers included; kept for provenance, never deleted).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ECjSL2nqzn3qJEzA28V4m5
@sonarqubecloud

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath marked this pull request as ready for review July 17, 2026 05:39
@hyperpolymath
hyperpolymath merged commit b883bb1 into main Jul 17, 2026
25 of 33 checks passed
@hyperpolymath
hyperpolymath deleted the claude/cleave-spline-groove-arch-4zq111 branch July 17, 2026 05:40
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.

2 participants