Tech-debt remediation: lib/bin split + D1–D5 resolved#37
Merged
Conversation
…es cmds, drop speculative scaffolding D1: service registry is a fixed env-driven set; wire service_list (get_registry) + service_set_url (update_service_url); remove vestigial register/unregister command stubs (no backing fns). D2: wire settings_save + llm_coding_system_resources (read_system_memory + SystemResources + new CPU sampler); remove unused WorkspaceLock, PendingAction, SpawnRequest.task_list. clippy -D warnings clean. D5: rewrite TECHNICAL_DEBT.md as verified 30-day plan; fix arch link. Also de-Tauri'd llm_coding/commands.rs header (Gossamer). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Add libloading 0.8 dep (once_cell already present). FfiState now owns the loaded libloading::Library; copro_load_ffi does a real dlopen + copro_init; copro_ffi_dispatch resolves copro_dispatch/copro_free from the live handle and calls the C ABI (was a stub). Symbols resolved per-call (no self-referential 'static storage). De-Tauri'd coprocessor comments. Removed stale libloading/once_cell TODOs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ssor (D3) Add [lib] panll target (GTK-free): http_client, service_registry, settings, identity, groove, llm_coding + the previously-orphaned coprocessor (declared by no crate root → never compiled; D4's FFI fix now actually builds and is tested). main.rs keeps only system_tray (gossamer_rs/GTK) and imports the rest via use panll::*. cargo test --lib now runs WITHOUT linking libgossamer/GTK: 18/18 pass (6 new D3 tests for http_client + service_registry, 12 coprocessor). Cleared 11 latent clippy lints surfaced once coprocessor compiled (10 empty-line-after-doc, 1 should_implement_trait — justified allow). clippy --all-targets -D warnings clean. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… (W4) - Fold cross-module integration tests into the lib test surface so they run via cargo test --lib (no GTK bin build): 23/23 pass. - Reconcile .github/hypatia-rules/panll-v0.2.0-fixes.yml v1->v2: retire 8 stale panic-attack rules that false-positive on now-correct code; keep one precise regression guard (panll-cmd-disabled); fix doc-ref path. - CHANGELOG.md: document lib/bin split, coprocessor wiring, add/remove/fix. - TECHNICAL_DEBT.md: mark D1-D5 resolved with execution log; record honest environment caveat (bin link needs GTK) and follow-up debt F1 (40 orphaned dirs) / F2 (coprocessor IPC wiring) / F3 (dev env). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ead code Inspection showed every 'orphan' dir is a real PanLL panel backend (aerie/hypatia/ai/farm/provenance/…), orphaned by the same defect as coprocessor. Decision: integrate, not delete. Added F1 integration workstream plan (coprocessor pilot → census → bulk wire). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
hyperpolymath
added a commit
that referenced
this pull request
May 17, 2026
* docs(adr): ADR-0001 panel-clades pivot + freeze src-gossamer legacy (P0) Pin down decisions surfaced during tech-debt remediation: - SoT = panel-clades (Idris2 ABI + Zig FFI + a2ml clades); estate-conformant - src-gossamer Rust = FROZEN LEGACY (STATUS.adoc marker); PR #37 = interim legacy-stabilisation only - Reference = Axiom.jl's backend-organisation APPROACH (the pattern, not its coprocessor code); oo7/jtv experimental, out of scope - Backend set (11): FPGA DSP math physics tensor vector I/O audio neural crypto quantum - panel-clades found to be a spec-complete but UNINSTANTIATED template shell (rsr {{placeholders}}, just init never run) - GATE: characterise + re-validate Axiom.jl's approach before any downstream clade/backend build (no speculative work) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(adr): trust only Axiom.jl general form; non-conforming code = presumed mess Per owner guidance: do not look at oo7/jtv at all; any coprocessor/ backend code not resembling the Axiom.jl general form is presumed bot-mess / interference / incomplete and is NOT reference material. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: characterise Axiom.jl general form + gate re-validation verdict Cloned hyperpolymath/Axiom.jl; characterised the standard backend- organisation approach in docs/architecture/AXIOM-GENERAL-FORM.adoc (AbstractBackend taxonomy + SmartBackend per-op dispatch + AcceleratorGate device selection + Idris2-spec/Zig-authoritative split + bidirectional host bridge + parity/smoke CI). Re-validation: Idris2 ABI typechecks clean (0.8.0); Zig FFI main.zig FAILS — 17 'Axiom.jl_*' invalid identifiers from a bad token-substitution bot (should be 'axiom_*'; header/tests/README clean; design sound; trivial repair). Same corruption class also in panel-clades/ffi/zig/. ADR-0001 gate: PASSED with caveat (pattern+spec trusted; P2 build gated on the Axiom.jl de-corruption landing). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Executes the full
docs/TECHNICAL_DEBT.md30-day plan (CAP order: corrective → adaptive → perfective).Resolved
service_list+service_set_url; removed vestigial register/unregister stubs.settings_save,llm_coding_system_resources(+/proc/statCPU sampler); removedWorkspaceLock/PendingAction/SpawnRequest.task_list.cargo test --lib(GTK-free).libloadingdlopen+copro_init/copro_dispatch/copro_free(was no-op stubs).TECHNICAL_DEBT.mdrewritten from a stale 2024 placeholder into a verified executed plan; broken arch link fixed.Architectural change
[lib] panll(GTK-free) holds all testable logic;main.rskeeps onlysystem_tray(needsgossamer_rs). This is what makes the suite runnable without linking libgossamer/GTK/WebKit.coprocessor(declared by no crate root, never compiled) is now wired in and tested.Gates
cargo test --lib: 23/23 passcargo clippy --all-targets -- -D warnings: clean (0)libgossamer(pre-existing env gap; see TECHNICAL_DEBT.md "Environment Caveat").Follow-up debt opened (see TECHNICAL_DEBT.md)
src-gossamer/src/— addressed in a follow-up commit on this branch.coprocessorasync commands into the binary IPC table.🤖 Generated with Claude Code