Repository navigation
Conversation
Saga member spaces carry the context-marmot MCP entry but no memories entry of their own, so StaveMemoryWiring resolved them as absent and non-Claude drivers never received the saga's shared den. Resolve a member as attached when a live sibling saga manifest lists it in saga.members and records a marmot memory. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Crusoe's managed inference serves open models (gpt-oss-120b, Nemotron, Gemma, Kimi) over an OpenAI-compatible API, and OpenCode already knows its endpoint. Getting there meant hand-adding an OpenCode instance with the right environment variables. Add a Crusoe choice to the Add provider dialog. It creates an OpenCode instance with CRUSOE_API_KEY stored as a secret and OPENCODE_CONFIG_CONTENT limiting the instance to the crusoe provider, so its picker lists only Crusoe models. No server or contract changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Hack-day demo scaffolding behind LECTURN_MEMORY_DEMO=1: memory contracts and RPC group, server capability, a disabled store stub shared by /ws and /mcp, client atoms, and a /memory route with placeholder components. Includes recorded Jev judgments from the synthetic standards spike as a fixture. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Server store with a deterministic 1,533-node warren, lexical recall, tiering over recorded Jev judgments, land and revert. memory_query and memory_write on Lecturn's /mcp. Thread Memory panel, sidebar entry with pending badge, palette actions. Canvas map that draws only on input, with territory, territory detail, and lens views. Keyboard-first contribution gate with receipt and revert. All behind LECTURN_MEMORY_DEMO=1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Publish den seeding so the pending badge is right on first load, space landed nodes away from territory hubs, add a header Revert, fix palette title search and badge clipping. Refuse out-of-order reverts, re-check secrets server side at land time, treat missing or warren-stale plans as stale-plan, warm the warren and index in the background when the flag is on, and show territory labels in the gate. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # apps/web/src/components/sidebar/SidebarChrome.tsx # apps/web/src/routeTree.gen.ts
Crusoe only existed once added through the + dialog, so Settings > Providers showed the seven drivers but no Crusoe until then. Settings now keeps a standing Crusoe row (opencode_crusoe) below OpenCode, disabled, with an empty secret CRUSOE_API_KEY field. Pasting a key or turning it on saves it as a regular OpenCode instance. Like the built-in rows it has no delete; its reset removes the saved instance and the stored key, returning the row to its disabled state. The preset now lives in crusoePreset.ts, shared by the panel and the + dialog. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
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.
What Changed
One branch for the AI Conference Hack Day demo that merges four open branches onto current main (
ee0ee7bbf7):feat/crusoe-providerstave/lecturn-factory/lecturnfix/stave-saga-member-memorydemo/memory-hack-dayLECTURN_MEMORY_DEMO=1Each source branch is merged with its own merge commit, so its history stays reviewable in the original PR.
Two conflicts between Factory and Memory, resolved by keeping both:
SidebarChrome.tsx: footer page detection now covers/factoryand/memory. Both sidebar items and both palette entries are present.routeTree.gen.ts: regenerated with the TanStack generator, so it contains both/factoryand/memory.packages/client-runtime/package.jsonandCommandPalette.tsxmerged cleanly with both features' exports and items.Why
The demo needs all four features in one installable build. Review happens in the source PRs; this PR is the integration record for the hack-day preview.
Demo video
lecturn-r3.mp4
UI Changes
Crusoe provider (#93)
Crusoe models in the model picker:
Crusoe listed in provider settings (b98f5e1)
Crusoe used to show up in Settings > Providers only after being added through the + dialog. It now has a standing row below OpenCode, disabled, with an empty secret
CRUSOE_API_KEYfield. Pasting a key or turning it on saves it as theopencode_crusoeinstance. Like the built-in rows, it has no delete button. Its reset removes the saved instance and the stored key. Checked in a dev server: pasting a key and turning Crusoe on loaded the Crusoe models, and reset returned the row to disabled with the secret removed.Factory (#94)
Factory overview and provider-update workflow:
Live run inspection, conversation access, stop control, and agent evidence:
Memory (#98)
Contribution gate and neighborhood lens:
Validation
On the merged tree:
tsgo --noEmitclean in contracts, client-runtime, server, and web.vp test run src/memoryDemo src/mcp src/stave: 496 passed.providerFactory.test.ts: 22 passed.0.0.50-pr.hackday.1for the demo.Checklist
Implemented and reviewed with Claude Opus 5.5 using the Claude Code harness.
🤖 Generated with Claude Code