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, the accepted long-build system, and current Phase 5 transition truth. Select any node to inspect its dependencies, mode, and resource claims—including the open graph-intake seam.
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 offline worker 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.
Offline worker commands plus trusted host-only verification.
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:
worker: focused behavior test
trusted: 402px running-product capture
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.
The controller now survives real product work.
One real Sol/high call sealed backend and UI milestones. After the backend integrated, the controller was forcibly reopened; it made zero planning or backend calls and advanced only the newly ready caregiver home through Chrome, fresh Sol review, and exact integration.
Parallel build. One recoverable promotion.
Two Luna/xhigh workers started 20 ms apart on disjoint same-base modules while the queue stayed empty. Their sealed results entered one durable epoch, passed the combined system once, and replayed after a forced post-promotion SQLite reopen with zero model calls.
The long-build loop chooses the wave itself.
LongBuild sent two ready nodes through the same recipe modules and graph runner, deferred only their integration claims, and recovered the promoted epoch before any planner or worker could run again.
Two horizons finish without waking the operator.
Three Luna/xhigh tasks and one Sol/high renewal crossed a forced post-promotion restart. Five exact verification replays hit trusted cache evidence, zero model calls repeated after reopen, and two accepted milestones compacted into one terminal graph node.
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.
LongBuild saved 99.724 seconds on its live pair, verified one union, and promoted 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
Claims one result or durable compatible epoch, verifies the exact union, and moves authority once.
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
Running-product evidence
Pixels, structure, and behavior agree.
These are the exact accepted 402×874 Chrome captures—not mockups. The gate checks mounted regions, real interaction, fonts, console health, overflow, pixel hashes, and fresh read-only Sol judgment.
Two running directions. One authoritative winner.
Both Luna candidates began from the same base and implemented concurrently. One Chrome resource captured them in order; fresh Sol selected Airy editorial, and only that commit entered the integration queue.
Backend accepted. Controller reopened. UI continued.
One real Sol horizon produced two milestones. After the first exact integration, SQLite reopened with a forbidden planner; only the caregiver home ran, and both exported states passed a preserved fresh Sol review.
Direct production entry works; general graph entry does not yet
The selector is installed and defaults to legacy. Next comes typed goal-to-graph intake plus isolated direct and graph model smokes; only then can an authorized reversible switch begin.
Open corrected terminal auditThe tested engine now has a real process and API boundary
242 modular and 238 moderator tests cover native and CLI intake, Git lineage, safe/full reopen, unique attempts, workspace serialization, shutdown, network boot, and the inactive selector.
Open front-door evidenceTwo horizons finished in 51.94% of legacy time
Three Luna tasks, one Sol renewal, two deterministic promotions, four passing integrated checks, equal total model calls, zero retries, and zero orphans.
Open complex comparisonDirect work stays lean and reaches authority
The modular lane accepted with two calls in 259.372 seconds. Legacy used two calls but its model-owned integration could not write Git metadata.
Open direct comparisonFrozen release and rollback survive controller loss
Three exact verification domains, deterministic packaging, standing-policy publication, exercised rollback, zero stage replay, and a clean newer Git head.
Open release auditThe long build completed through its second horizon
Completed in 270.316s with three Luna tasks, one Sol renewal, 104.187 seconds of overlap, 5/5 exact cache hits, zero model replay after restart, and one terminal compacted graph.
Open the combined auditHistory shrinks without losing truth
Content-addressed summaries preserve lineage, horizon renewal admits only the next exact prefix, and trusted verification cache entries cannot cross a changed tree, command, environment, or policy.
Open the mechanism auditThe long-build controller now consumes the batch seam
Two real Luna/xhigh workers overlapped for 99.724 seconds through the normal graph runner, then one promoted epoch survived forced reopen with zero model replay.
Open the automatic-wave auditParallel workers now earn one integration epoch
Two real Luna/xhigh workers overlapped, the queue stayed free during implementation, combined checks ran once, and post-promotion reopen replayed with zero model calls.
Open the batch auditAccepted backend work survives a real reopen
Sol planned two milestones once. Backend integrated, SQLite reopened, only UI continued, and two running states reached exact authority.
Open the live auditOnly the evidence that survived every layer
Two exact commits, three captures, two independent judgments, and a clean integration head.
Open the complete auditThe loser never touched authority
Two overlapping Luna builds, serialized Chrome, one fresh Sol decision, and exactly one winner-only integration.
Open the competition auditA green model verdict was not enough
Opening the pixels exposed a missing shell. The false positive became a new deterministic viewport gate.
Read the revocationBoth repair attempts stopped safely
The completed viewport lost primary navigation, so no home candidate integrated and no evidence was promoted.
Read the rejectionBuild 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.
Direct work survives reality
Single-file replay, exact multi-file and new-file ownership, evidence-guided clean retry, and controller-reopen worker recovery all pass with real Sol and Luna.
Compatible work runs safely
Persisted DAG lineage, fair recoverable leases, exact ordered integration, two-project overlap, writer serialization, and real process-family isolation all pass.
Real product modules reach authority safely
Backend, cooperative UI, read-only lineage, and autonomous two-direction selection pass with current-revision live evidence.
Long work survives interruption and renewal
Automatic waves, exact crash recovery, 5/5 cache replay, bounded Sol renewal, replay-safe compaction, and the combined live system review all pass.
Finish graph intake before touching authority
The API, direct executor, and inactive selector now pass. General Sol goal-to-graph admission and isolated direct/graph model smokes remain before any reversible production switch.
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.