Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# 2026-10-21 — D-QSP / D-RFT / D-LFA: Quack class-method substrate, relalg + thought-git priority, flow assimilation

**Entry ID:** D-QSP-RFT-LFA-CAP (cross-plan board mapping; not an implementation deliverable).\n**Plan IDs:** D-QSP = PostgreSQL SQL semantic parity and shape selection; D-RFT = relalg/thought-git frontier and substitution; D-LFA = graph-flow/kanban/Rubicon API assimilation. Existing D-RA, D-CMR, D-TGB and D-SQLP remain authoritative on owned slices.\n\n**Status:** PLANNED ONLY (docs-only). No runtime, tests, measured speedups, SQL parity, admission, ABI or new crate.
**Operator intent:** Make SQL/PostgreSQL semantic operations and SAP/graph/cognitive methods class-bound laws over the same Quack Binding Store. Different storage shapes (KEEP_DIRECT, ordered runs, 32×128/64×64, DR256) are physical choices. PostgreSQL is parity oracle; DuckDB analytical comparator, not a promise of speed.

## Plans (this branch)
- '.claude/plans/d-qsp-classview-quack-postgresql-parity-v1.md' (master semantic + shape contract; NULL K3 / Bags / joins / performance gates).
- '.claude/plans/d-rft-relalg-thought-git-frontier-v1.md' (PRIORITY: relational depth, datafrog oracle, optional egglog law checker, replay/frontier, same method surface).
- '.claude/plans/d-lfa-lance-graph-flow-rubicon-assimilation-v1.md' (parallel bounded API assimilation; LangGraph-ish Task/NextAction, Rubicon/Kanban, z8run handle; no new scheduler/storage/evaluator).

## Provenance/adjacency

#1659 shared-domain zero-copy lanes and ClassView/DR lab; #1666 draft IAM nested-group DR256 + lazy pages/populations (do not take over owner). Existing relalg and set_rules not full SQL parity. Thought-git has only probe + oracle, no production landing. rs-graph-llm graph-flow-lance already carries generation-witnessed handles and z8run integration; lance-graph-flow not built.

Linear: EXO-50 agent bus (handoff), EXO-86 relalg, EXO-83 SQL() polyfill, EXO-98 thought-git driver, EXO-101 datafrog, EXO-102 RU algebra, EXO-121 ClassView capstone, EXO-79 PathMap/MORK (oracle only, licensing remains gated).

## D-* Gate sequence (independent verdicts)

1. D-QSP-0 / D-RFT-0: Kleene K3 rewrite safety against PostgreSQL/row oracle (do not rewrite nullable complements blindly).
2. D-QSP-1 / D-RFT-4: one method across at least two physical shapes; 32×128 Boolean membership is first low-commitment tile probe (512 bytes), not global ABI. No ORM.
3. D-QSP-2 / D-RFT-1: relalg cross-relation composition with SQL DISTINCT/Bag/NULL semantics and exact oracles; direct SAP ordinals stay direct.
4. D-RFT-5: thought-git substitution/branch/replay/frontier parity and multi-support deletion, including snapshot ABA and independent evidential roots.
5. D-RFT-3 / D-RFT-2 / D-QSP-4/5: datafrog recursion; egglog only as optional law-licensed rewrite oracle; eventual fair DuckDB benchmark, full bind/prepare/materialization included.
6. D-LFA-0 parallel: rs-graph-llm flow API census, generation-bound handles, pause/resume, ClassView method/ActionDef proposal/Rubicon mapping. Runtime port D-LFA-1+ waits for semantic/replay seam.

**Invariants:** ClassView declares laws per operation, Quack binds, optional DR routes, mask-RISC executes. No string hot path, no new evaluator/planner, no value-directed foreign gather (ADMISSION B), no automatic effects, no undocumented claims of parity. Law preserves K3, Bag, count/sum rounding, provenance and versioned codebook witnesses.

**Coordination:** docs-only PR must be linked on EXO-50 as a new message. Do not silently assign new owners, change other PRs, merge, or implement.
3 changes: 2 additions & 1 deletion .claude/board/entries/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ index row, (3) no duplicate entry id. Checks 1 and 2 are deliberately
opposite directions; the stranding this convention prevents shows up in
exactly one of them, never both.

413 entries, 2026-08-06 .. 2026-10-21.
414 entries, 2026-08-06 .. 2026-10-21.

| date | entry id | finding | file |
|---|---|---|---|
Expand All @@ -38,6 +38,7 @@ exactly one of them, never both.
| 2026-10-21 | `D-RU-6-LAB-2` | | [2026-10-21-d-ru-6-sparse-compute.md](2026-10-21-d-ru-6-sparse-compute.md) |
| 2026-10-21 | `D-RU-6-LAB-3` | | [2026-10-21-d-ru-6-dirty-frontier.md](2026-10-21-d-ru-6-dirty-frontier.md) |
| 2026-10-21 | `D-RA-2` | | [2026-10-21-d-ra-2-relalg-symbolic-repoint.md](2026-10-21-d-ra-2-relalg-symbolic-repoint.md) |
| 2026-10-21 | `D-QSP` | | [2026-10-21-d-qsp-d-rft-d-lfa-classview-quack-plan.md](2026-10-21-d-qsp-d-rft-d-lfa-classview-quack-plan.md) |
| 2026-10-21 | `D-CMR-6` | | [2026-10-21-d-cmr-6-rule-catalogue.md](2026-10-21-d-cmr-6-rule-catalogue.md) |
| 2026-10-21 | `D-CMR-5` | | [2026-10-21-d-cmr-5-rescope.md](2026-10-21-d-cmr-5-rescope.md) |
| 2026-10-21 | `D-CMR-2b` | | [2026-10-21-d-cmr-2b-scratch-probe.md](2026-10-21-d-cmr-2b-scratch-probe.md) |
Expand Down
53 changes: 53 additions & 0 deletions .claude/plans/d-lfa-lance-graph-flow-rubicon-assimilation-v1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# D-LFA — lance-graph-flow: bounded rs-graph-llm assimilation as a ClassView method driver (v1)

**Plan ID:** D-LFA (lance-graph-flow assimilation), linked to D-RFT semantic/replay gates, D-QSP shape-parity and existing D-TGB driver plan. No competing executor.\n\n**Status:** PARALLEL DOCS-FIRST INVESTIGATION / PROPOSAL, 2026-10-21. 'lance-graph-flow' does not yet exist in lance-graph. Do not copy the entire framework, open a runtime fork, create a new session database, or take ownership of #1666, relalg, thought-git or the supervisor.

**Decision proposal:** YES to parallel **interface census + small contract probe** while relalg and thought-git remain the implementation priority. Runtime assimilation waits until a validated replay/semantics seam exists. This updates the question already recognized in 'thought-git-basics-v1.md' / EXO-98, without replacing that plan or introducing a second executor.

## Verified source capabilities

- 'AdaWorldAPI/rs-graph-llm/graph-flow/src/task.rs' has Task, TaskResult, NextAction (Continue, ContinueAndExecute, WaitForInput, GoTo, End, GoBack). 'graph-flow/src/graph.rs' has Graph, conditional edges and GraphBuilder. These are orchestration primitives, not relational execution.
- 'AdaWorldAPI/rs-graph-llm/crates/graph-flow-lance/src/lib.rs' already specifies a **lance-abi handle with source generation** between tasks, a z8run-lance registry/envelope shared by the graph and z8run, and explicit materialize-only data export.
- Its 'tasks.rs' rewrites immutable plans under handles; 'z8run.rs' registers graph-flow nodes, pause/session handles and resume, never passes row/mask data between layers. This is the smallest assimilable API seam.
- 'lance-graph-report' already lowers ReportPlan through Quack and one mask-RISC evaluator and includes a z8run-shaped connection; reuse it, never another runtime evaluator.
- 'lance-graph-contract/src/kanban.rs' already declares KanbanColumn/next_phases, phase transitions and MUL gate handling. 'lance-graph-supervisor' sealed cycle_driver owns state progression, WAL and versioned sparse apply. 'kanban_actor.rs' is read-only. No graph-flow task may autonomously move a mailbox state or commit a Lance version.
- 'lance-graph-act-r/src/lib.rs' has deterministic witnessed proposal arbitration; neither persistent cognitive buffers nor learning. The ACT-R caller evaluates eligibility elsewhere; action selection is not authority to commit.

## Desired user surface (ergonomics, NOT executor)

The LangGraph-ish appearance can be GraphBuilder -> Task -> NextAction / Pause -> Resume, with a **bound method handle** (ClassId, MethodOrdinal, law identifier, source generation, focus and thought version), not ORM objects. 'think', 'counterfactual' and 'do' are capabilities exposed as *method routes*, not three engines. ClassView declares legal method and action metadata; Quack Binding resolves operands; optional DR maps physical shape; relalg/R2IL/mask-RISC evaluates.

- THINK task: returns immutable derived result/Thought delta, not a new sealed version.
- COUNTERFACTUAL task: executes same method law over a witnessed overlay/focus; records delta/provenance; prevents hypothetical evidence becoming certified production state.
- DO task: evaluates method and guards, produces a witnessed ActionDef proposal; separate MUL/Heckhausen Rubicon phase and caller authorization determine whether to stage the effect. Actual write only through existing supervisor/cycle_driver + explicit Rust LanceCycleWriter terminal.
- A task's Context/session may contain IDs, generation-bound handles, small control state and external human reply; NEVER resident SoA row/plane, cached fold buffers or reconstructed node object graph.
- Live LangGraph-style pause/resume must fail closed on generation or codebook change; a stale session may deterministically rebind/replay but cannot reuse invalid effects or silently auto-commit.
- Do not equate psychological Heckhausen Rubicon (predecisional -> preactional -> actional -> postactional) with storage transaction commit or with Kanban columns by identity. Document a *declared mapping* to existing Planning, CognitiveWork, Evaluation, Commit/Plan/Prune and test every permitted transition.

## What to assimilate / what not to assimilate

| Adopt as thin behavior surface | Keep out of the execution/storage core |
| --- | --- |
| Task/GraphBuilder/NextAction ergonomic API, conditional branch, interrupt/resume | full graph-flow executor rewrite or independent ORM |
| Generation-bound lance-abi handle and z8run-lance envelope interop | PostgreSQL/in-memory session storage as cognitive truth source |
| Explicit terminal, operator-visible proposal/approval | side-effectful Task::run bypassing ActionDef/MUL/revision |
| Rig completion trait only at explicit LLM boundary if requested | LLM as default source of truth, learned epistemic cert from text |
| Graph flow as optional caller of thought-git verbs | duplicate scheduler/state-machine to replace supervisor's sealed cycle |

The z8run adapter is a **host** of flow graphs; Quack remains the evaluator. No requirement to install or fork LangGraph Python or instantiate graph-flow's original session backends in production. Names/labels resolve to numeric IDs on cold construction only.

## Staged parallel work and independent falsifiers

**D-LFA-0 (parallel now, documentation only):** census which Task/NextAction/context/session/registry interfaces can be carried intact versus need a version witness or a typed refusal; attach concrete source paths. Identify and count forbidden stateful copies, duplicate evaluators, second write owners, default string dispatch, and all coercions between Rubicon and Kanban.

**D-LFA-1 (after relalg T0 / thought-git T2 seam):** *one* representative graph with two method calls, a counterfactual branch, and WaitForInput. On pause, the saved session contains ONLY handle/control metadata. Simulated source update makes resume refuse. No node data materialization except terminal.

**D-LFA-2:** independent phase-1 OGAR ActionDef driver and graph-flow driver run exactly the same scripted verb sequence against thought-git's from-scratch oracle. Verify byte-identical thought cells, receipts, mask outcomes and metadata; no action without explicit authorization. ACT-R selects a proposal in separate test with stale candidate refusal.

**D-LFA-3 (optional after verified fences):** scaffold 'lance-graph-flow' crate as a small consumer-side surface; use existing code and dependencies only if legally/technically compatible. Preserve 'rs-graph-llm' as oracle/reference until equivalence proven; refuse dependencies/copying that violate the one-engine, one-truth-store contract.

**Stop conditions:** new execution loop or SQL evaluator, checkpointer becoming authoritative storage, conflicting Kanban transition owner, workflow graph identity becoming row identity, missing generation refusal, non-equivalent replay, or requiring pre-existing data materialization in Context. Halt runtime assimilation rather than papering over with adapters.

## Coordination

Main PR: [ClassView/Quack PostgreSQL parity plan](d-qsp-classview-quack-postgresql-parity-v1.md). Priority companion: [relalg × thought-git frontier](d-rft-relalg-thought-git-frontier-v1.md). Existing source: '.claude/plans/thought-git-basics-v1.md' and EXO-98; '.claude/plans/relalg-v1.md' and EXO-86; EXO-50 messages. Any code handoff needs an explicit owner/claim and separate implementation PR. This PR changes plans only.
Loading
Loading