The system after Nyx
Build the graph. Keep one source of truth.
The new system turns a product goal into bounded work, lets compatible tasks move in parallel, protects shared resources, and accepts only what works in the integrated product.
Name it together
Pick the name before we bake it in.
These are pronounceable directions, not a fake final decision. Tap one to preview it across this page. The choice stays in this browser until you explicitly approve a name.
Rivet
Gantry
Lattice
Mosaic
Relay
Orbit
Forge
Tandem
Trellis
Braid
Interactive graph lab
See what may run—and why.
Switch between a direct fix, a visual-foundation decision, and a long build. Select any node to inspect its dependencies, mode, and resource claims.
Only running nodes hold live write or physical-resource leases.
This is a simulator. It demonstrates the binding contracts but is not connected to a live system daemon yet.
Binding model split
Sol writes the packet. Luna ships the slice.
Sol plans every change and keeps splitting until one Luna xhigh worker can complete one meaningful outcome without inventing architecture or wandering into adjacent work.
Plan + decompose
Interprets the goal, freezes decisions, builds the graph, and writes exact implementation packets.
- No product-code writes
- No scheduling or state ownership
- Replans only affected nodes
Implement + return
Changes only the owned surface, runs the named checks, and returns unstaged work with hashed evidence. The trusted controller seals the commit.
- One observable outcome
- One primary write domain
- Stop instead of widening scope
Accept independently
Deterministic checks run first; a fresh read-only Sol context judges contract, code, visual, and integrated product fit.
A task launches only when all six lights are green.
One sentence names the behavior that becomes true.
One feature, foundation, interface, or schema owner.
Base commit, contract, foundation, and dependencies are fixed.
One bounded attempt; uncertainty or larger work returns to Sol.
Observable acceptance, exact commands, required evidence.
No adjacent cleanup, redesign, refactor, or scope expansion.
Descriptive without becoming huge
Structure beats a giant prompt.
Luna gets current behavior, desired behavior, pinned inputs, exact ownership, a required sequence, non-goals, checks, evidence, and stop codes. It does not receive the entire repo history.
identity: LUNA-UI-017
outcome: caregiver card opens the real timeline
base: 91f2c6 · foundation: helios-v4
writes: feature:person-home
allowed: src/features/person-home/**
must:
- preserve the approved card anatomy
- route to /people/:id/timeline
- expose loading and empty states
must_not:
- change navigation or shared tokens
- add a live-pulse control
accept:
- focused behavior test passes
- 402px rendered state is accepted
stop: contract_gap | needs_split | dependency_stale
Long-task operating horizon
Keep the destination. Reveal the next terrain.
A giant product is never flattened into one prompt. The complete outcome stays durable while only the next one or two integration milestones become a fully executable graph.
Unattended by contract
One request in.
A finished product out.
No mid-build taste votes, architecture questions, decomposition approvals, or visual checkpoints. Ordinary uncertainty is work for Sol to research and resolve—not a reason to wake the operator.
Record a reversible assumption and continue.
Fresh Sol review chooses from running code against the contract.
Luna implements; checks, acceptance, and integration continue automatically.
Later feedback creates a new goal; it never blocks the first delivery.
Standing policy preauthorizes ordinary build and deploy actions. Missing external authority produces the safest useful fallback—not an idle approval queue.
The complete product
Users, non-goals, release boundary, and final proof survive for the entire build.
Stable subsystem map
Interfaces, ownership, dependency direction, and security boundaries prevent local drift.
The next 1–2 milestones
Only near work is fully graphed, resource-checked, and acceptance-ready.
One Luna packet
One outcome, one write domain, exact checks, and a 20–60 minute attempt.
My speed contract
Optimize accepted wall time—not agent activity.
Run the ready task that unlocks the most downstream work.
Accept high-fan-out schemas and foundations before feature fan-out.
Reuse clean environments, dependencies, compiler output, and code maps.
Test the leaf now; pay the full-system cost only at named boundaries.
One queue integrates disjoint results and runs their check union once.
Add workers only while ready domains, resources, and integration can absorb them.
Example product horizon
A browser becomes a chain of running products.
This is software the system could be asked to build—not its worker browser tool. Start with a real shell on a pinned WebKit or Chromium engine, or explicitly scope a new engine as a portfolio of subsystem programs.
- 01Shell + navigationload · back · forward · reload · visible failure
- 02Tabs + recoverywindows · sessions · forced restart · exact resume
- 03User datahistory · bookmarks · downloads · permissions
- 04Security + releaseprivacy · sandbox · updates · rollback · accessibility
- 05Engine ownership, laternetwork · parser · JS · layout · paint · media
Workers initially share one brokered BrowserHarness session backed by one Playwright adapter. The browser above is the enormous product example, not that testing resource.
whole-project detailed plans
full suites per leaf
review every trivial node
default candidate tournaments
repo-dump prompts
handoff-only agents
Small control plane
Modular capabilities. One boring authority.
Agents supply judgment and implementation. Deterministic code owns state, permissions, resources, acceptance, and integration.
ProjectController
The only execution-state writer. Reacts to events instead of racing multiple polling loops.
deterministic kernelWorkGraph
Tracks dependencies, artifact versions, readiness, invalidation, and milestone epochs.
DAG + lineageResourceBroker
Grants compatible read, write, and physical-resource leases with fairness and expiry.
collision controlResultAcceptor
Separates a worker process exiting from the integrated product actually being accepted.
truth boundaryIntegrationQueue
Promotes one compatible result at a time and reruns affected checks on the real branch.
ordered promotionDirect lane
Preserves context and speed when decomposition would cost more than it saves.
- Bug fixes and contained UI changes
- One owner, one bounded result
- Same acceptance and integration contracts
Graph lane
Earns its overhead when work is parallel, long-lived, resource-bound, or failure-prone.
- Whole products and multi-day builds
- Compatible work moves in parallel
- Only affected dependents are invalidated
Anti-overengineering constitution
Every new mechanism must earn its weight.
The new system has explicit ceilings so a useful kernel cannot quietly regrow into a platform of competing schedulers, stages, supervisors, evidence generators, and retry paths.
Read the binding rulesNo graph database
SQLite nodes, edges, events, leases, and versions are enough until measured scale proves otherwise.
No arbitrary workflow DSL
Six tested recipes beat an agent inventing a new lifecycle for every request.
No supervisor stack
One controller, one slow safety sweep, and explicit provider-process cleanup.
No unused evidence
Every artifact names a consumer; unconsumed output is waste, not progress.
Deletion accompanies addition
Every mechanism proposal identifies the failure it prevents and what it replaces or removes.
Product proof wins
Integrated behavioral and visual evidence outranks process receipts and screenshot quantity.
Source shape is a navigation budget
Files average 200–400 logical lines within a module. Crossing 500 triggers a cohesion review—not blind rejection or tiny-file theater.
Shared product-design standard
Wobbleby confidence. Product-owned identity.
Reuse the craft: neutral sans typography, purposeful radii, disciplined color, real interactions, flat original graphics, and running-code review. Never copy Wobbleby's palette, mascot, content, or layout.
Rounded with purpose, never rounded by habit.
Shape, space, color, and depth communicate hierarchy before decoration.
Typography
- Inter-style neutral sans for UI
- Inter Tight only for display
- No decorative serif by default
- Paragraphs stay regular weight
Canvas + color
- True white or deliberate dark fields
- One dominant hue per screen
- No beige or pastel full canvas
- Gray provides hierarchy, not brand
Shape + depth
- 8 / 12 / 18 / 24 / 32 radius ladder
- Beautiful 1px outlines by default
- Shadows only for floating surfaces
- No pill or card repeated everywhere
Controls
- 44px minimum target
- One primary action per viewport
- Every enabled control really works
- No decorative live-pulse button
Graphics + motion
- Original flat 2D or code-native art
- No glossy AI spheres or fake glass
- Motion settles in about 160–320ms
- Reduced motion always supported
Acceptance
- Judge real running screens
- Use representative data and flows
- Review the combined application
- Screenshot counts never prove beauty
cream canvas
pastel soup
fancy serif UI
generic gradients
card-stack sameness
decorative pulse
Build order
Prove one loop before expanding the system.
Each phase ends in observable behavior and a hard gate—not another architecture layer.
Authority and contracts are pinned
Clean source, legacy evidence, autonomy policy, model routes, packets, results, and exact event fixture are accepted.
Prove the direct lane five ways
Real Sol and Luna, durable process recovery, attempt-isolated worktrees, protected-Git candidate sealing, independent inspection, detached re-verification, clean fast-forward, and controller replay are green. Four representative live canaries remain.
Run compatible work safely
DAG readiness, logical and physical claims, version checks, fairness, and two-project recovery.
Prove backend and UI slices
Backend feature, UI change, UI foundation, cooperative/competitive/read-only modes.
Resume a real application milestone
Dependency waves, incremental integration, graph compaction, bounded replanning, and system proof.
Beat the legacy system honestly
Matched canaries, cost and recovery comparison, release isolation, then read-only archive.
Add conversation after stable control
Versioned read-only explanation first, then signed policy-checked commands—never a second orchestrator.
Future interface · deliberately later
Talk to Hermes. Let the builder do the work.
Hermes becomes the conversational operator after the builder has a stable command and query API. It explains and issues already-authorized requests under standing policy. It never becomes a second state owner or coding runtime.
- Read-only project explanation ships first.
- Mutating commands are signed and policy checked.
- Hermes never edits, accepts, locks, or merges code.
The operating thesis
Ambitious outcomes.
Smaller mechanisms.
The new system keeps the part of Nyx that behaved like dependable infrastructure and replaces the part that confused activity with a finished product.