Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
233 commits
Select commit Hold shift + click to select a range
92cd511
The OS is one project and the AppHost is DigitalBrain's; spec+plan fo…
LeftTwixWand Oct 4, 2026
82b73ee
feat: modules name their Aspire hosting adapter on the type
LeftTwixWand Oct 4, 2026
1564c23
feat: hosting adapters resolve from the module type
LeftTwixWand Oct 4, 2026
6ef4a9e
feat: DigitalBrainBuilder keyed by module type; Enabled projection re…
LeftTwixWand Oct 4, 2026
cd76304
feat: the server runs its registered modules unless configuration dis…
LeftTwixWand Oct 4, 2026
1587074
feat: OsCatalog lists module types; ids come from the modules
LeftTwixWand Oct 4, 2026
8007f3a
refactor: test hosts resolve hosting adapters from the module type
LeftTwixWand Oct 4, 2026
c16187e
feat: the AppHost states deployment decisions only
LeftTwixWand Oct 4, 2026
821c585
feat: the image is the composition; enabled-list transcriptions deleted
LeftTwixWand Oct 4, 2026
812a5f5
feat: Flutter options bind from configuration; the shell title is con…
LeftTwixWand Oct 4, 2026
b11469b
fix: review findings — deployment options no longer pin defaults; sta…
LeftTwixWand Oct 4, 2026
e1570da
chore: the OS build graph derives from the repo; Aspire pair gets hon…
LeftTwixWand Oct 4, 2026
7ab0c5c
feat: service defaults belong to the Aspire pair and are baked in
LeftTwixWand Oct 4, 2026
88a20c5
feat: shipped vendor apps are configuration, not compiled content
LeftTwixWand Oct 4, 2026
1978b44
refactor: IntoChat's host tests become the OS's, re-evaluated
LeftTwixWand Oct 4, 2026
56c82a8
refactor: the Aspire pair sheds non-responsibilities and parameter soup
LeftTwixWand Oct 4, 2026
d4c5fca
feat: the deployment identity is configuration, stated once per deplo…
LeftTwixWand Oct 4, 2026
58ed5f0
refactor: identity and auth vocabulary moves to Platform.Contracts; n…
LeftTwixWand Oct 4, 2026
d9efee1
refactor: hosting constants live where they are decided
LeftTwixWand Oct 4, 2026
562f3bd
refactor: DigitalBrainHostingNames dissolves into its deciders
LeftTwixWand Oct 4, 2026
ba1a758
refactor: integration configuration keys come from IntegrationDefinition
LeftTwixWand Oct 4, 2026
3592114
feat: one configuration grammar, typed key owners everywhere, enforce…
LeftTwixWand Oct 4, 2026
1c1db93
Update aspire.config.json
LeftTwixWand Oct 4, 2026
ae84c7e
refactor: module options shape checks structure, not names
LeftTwixWand Oct 4, 2026
fdcbba3
test: the credential-suffix fact goes with the heuristic it pinned
LeftTwixWand Oct 4, 2026
94663f9
refactor: ModuleOptionsShape is gone
LeftTwixWand Oct 4, 2026
21deb6b
feat: ModuleId owns the module name grammar
LeftTwixWand Oct 4, 2026
f255168
feat: Module is an object that knows its name
LeftTwixWand Oct 4, 2026
58ca3a5
refactor: a module is an instance that knows its id; IModule is gone
LeftTwixWand Oct 4, 2026
45c7f81
refactor: hosting claims its module through the generic parameter
LeftTwixWand Oct 4, 2026
c7cbd75
refactor: deployment claims its module through the generic parameter
LeftTwixWand Oct 5, 2026
fc3219c
refactor: the module attributes are gone
LeftTwixWand Oct 5, 2026
b2544f8
refactor: AI hosting declaration is typed at the source, resolved lou…
LeftTwixWand Oct 5, 2026
5ec27d4
refactor: AI speaks the one configuration grammar
LeftTwixWand Oct 5, 2026
fe9b8a4
refactor: every module speaks the one configuration grammar
LeftTwixWand Oct 5, 2026
eda4ee0
docs: ratify module identity unification
LeftTwixWand Oct 5, 2026
739d1b6
fix: retired roots cannot hide in deployment artifacts or the AppHost…
LeftTwixWand Oct 5, 2026
4a81070
docs: plan checkboxes complete
LeftTwixWand Oct 5, 2026
a768af5
docs: plan the framework restructuring
LeftTwixWand Oct 5, 2026
ccc481e
refactor: fold Kernel.AspNetCore into the Kernel — one host, one http…
LeftTwixWand Oct 5, 2026
280f79e
refactor: platform-facing interfaces join the module-author surface
LeftTwixWand Oct 5, 2026
74f1190
refactor: the Sdk was always the Kernel — module helpers come home
LeftTwixWand Oct 5, 2026
1eca97b
fix: projects that leaned on the Sdk reference stand on the Kernel
LeftTwixWand Oct 5, 2026
7506dde
refactor: the vocabulary is whole and the contracts ring is gone
LeftTwixWand Oct 5, 2026
48581bf
refactor: the Kernel grows up and is named the Framework
LeftTwixWand Oct 5, 2026
b4dd356
docs: the three rings, written down
LeftTwixWand Oct 5, 2026
ca1c121
fix: renamed serialized types keep their pre-rename identity
LeftTwixWand Oct 5, 2026
6f82d57
Fix formatting
LeftTwixWand Oct 5, 2026
1e6ff90
ci: the e2e matrix speaks Framework
LeftTwixWand Oct 5, 2026
d3b726d
fix: apps authoring models are module options, not a config side channel
LeftTwixWand Oct 5, 2026
30ce7dc
docs: plan the e2e harness redesign
LeftTwixWand Oct 5, 2026
a1041df
refactor: the reference brain boots the real AppHost
LeftTwixWand Oct 5, 2026
4a3d128
refactor: every e2e suite rides the product boot
LeftTwixWand Oct 5, 2026
b612205
refactor: the shadow OS is gone — one composition, one boot path
LeftTwixWand Oct 5, 2026
db8224d
test: the harness is publishable and the drift tests have nothing to …
LeftTwixWand Oct 5, 2026
01d7f4f
docs: one boot path, written down
LeftTwixWand Oct 5, 2026
c155c3f
fix: the reference host owns its whole identity, not just the cookie
LeftTwixWand Oct 5, 2026
6ebec19
fix: pack roots build before the no-build pack in CI
LeftTwixWand Oct 5, 2026
da0dffe
refactor: migrate modules to connectors, connections, and integrations
LeftTwixWand Oct 5, 2026
d9322a1
Remove retired Specs module and inline Assistant scenarios (#152)
LeftTwixWand Oct 5, 2026
ca4bfac
fix: authorize module-owned Integration schemas without connectors
LeftTwixWand Oct 5, 2026
49cbed2
Remove Files module and retire shell file/image screens (#155)
LeftTwixWand Oct 5, 2026
ab318b7
Delete empty Apps Testing package and reference runtime directly (#142)
LeftTwixWand Oct 5, 2026
e11bfc1
Clean module references and make hosting names configurable (#164)
LeftTwixWand Oct 5, 2026
8fa6f76
Remove retired Files client helpers and refresh compatibility sample …
LeftTwixWand Oct 5, 2026
f43f67e
refactor(registry): delete the activity ledger and legacy Apps backfi…
LeftTwixWand Oct 5, 2026
35d080a
refactor(registry): share one Framework contract catalog and in-proce…
LeftTwixWand Oct 5, 2026
690bef1
refactor(assistant): own per-brain capability discovery and remove Re…
LeftTwixWand Oct 5, 2026
af596e2
docs: IRegistry — the brain inventory over the platform's own catalogs
LeftTwixWand Oct 5, 2026
4c6546f
docs(registry): record blocked storage inventory gate
LeftTwixWand Oct 5, 2026
a4ee3e2
docs: IRegistry revised — federation of domain truths, not a catalog
LeftTwixWand Oct 5, 2026
f5c5149
feat(framework): define federated registry inventory contracts
LeftTwixWand Oct 5, 2026
7087e6e
feat(platform): federate domain inventory and expose provider census
LeftTwixWand Oct 5, 2026
df158bb
feat(registry): expose existing domain aggregate inventories
LeftTwixWand Oct 5, 2026
ef9ea7b
docs: Creator and live apps — creation is not distribution
LeftTwixWand Oct 5, 2026
b07ee63
feat(time): track scoped schedule intent for domain inventory
LeftTwixWand Oct 5, 2026
8c12b87
feat(assistant): expose domain-attributed inventory tools
LeftTwixWand Oct 5, 2026
ffc5d8e
docs: Creator & live apps implementation plan
LeftTwixWand Oct 5, 2026
ab8cc0e
fix(registry): share one transient census within each active request
LeftTwixWand Oct 5, 2026
4a9c06d
refactor(apps): csharp becomes a deployable runtime, not a special ca…
LeftTwixWand Oct 5, 2026
8aedf2c
refactor(apps)!: storage ownership moves behind IAppStorageHook; adop…
LeftTwixWand Oct 5, 2026
671c124
refactor(apps)!: delete the migration museum — dev-only, no data carr…
LeftTwixWand Oct 5, 2026
ae77142
docs(registry): close federation plan with verified inventory coverage
LeftTwixWand Oct 5, 2026
dcdd5cb
refactor(apps)!: one file model — PackageContent.Source deleted (#139)
LeftTwixWand Oct 5, 2026
659eefc
feat(apps): the live editable app — created running, edited per behav…
LeftTwixWand Oct 5, 2026
43a4533
feat(apps)!: Creator services on the live app; the draft pipeline is …
LeftTwixWand Oct 5, 2026
3ef16e9
feat(apps): save commits, publish stays the only gate, forks material…
LeftTwixWand Oct 5, 2026
aef4246
refactor(apps): the Flutter edge is cut — product glue stays with the…
LeftTwixWand Oct 5, 2026
04d6c2f
docs: tick executed plan tasks
LeftTwixWand Oct 5, 2026
e22750a
fix(apps): review fix pass — hot-swaps resume, deletes are exact, liv…
LeftTwixWand Oct 5, 2026
88cc957
docs: close out the Creator plan
LeftTwixWand Oct 5, 2026
288b41c
fix formatting
LeftTwixWand Oct 5, 2026
d653191
docs: ratify the Apps simplification design
LeftTwixWand Oct 5, 2026
0670a13
docs: implementation plan for the Apps simplification
LeftTwixWand Oct 5, 2026
4818217
feat(apps): new app contracts — manifest, snapshot, bundle, signals, …
LeftTwixWand Oct 5, 2026
fcc66c5
feat(apps): AppNeuron — semver history, build lifecycle, export/import
LeftTwixWand Oct 5, 2026
6534122
feat(apps): background work queue and heading-bound verification
LeftTwixWand Oct 5, 2026
b1eab36
feat(apps): background work queue and heading-bound verification
LeftTwixWand Oct 5, 2026
f7f8802
feat(apps): Creator — synchronous Author, background Builder with pro…
LeftTwixWand Oct 5, 2026
78d78c5
test(apps): sharing gate facts — green-only export, clash-safe import
LeftTwixWand Oct 5, 2026
5b6f992
feat(apps): new /brains/{id}/apps http surface with 202 implement/verify
LeftTwixWand Oct 5, 2026
2025510
feat(apps): shipped apps import as verified bundles at startup
LeftTwixWand Oct 5, 2026
842fa1c
refactor(apps)!: delete packages, workspace vocabulary, marketplace, …
LeftTwixWand Oct 5, 2026
434389b
refactor(compute): move metering seam to Framework ring
LeftTwixWand Oct 5, 2026
1d4eca3
feat(shell): apps screens on the new wire — 202 implement, polled act…
LeftTwixWand Oct 5, 2026
b3d2079
refactor(compute): one ledger — settlement is the charge
LeftTwixWand Oct 5, 2026
848cc4f
refactor(compute): plain bounded grain state replaces the record tree
LeftTwixWand Oct 5, 2026
ccbac15
fix(compute): evict only usage logs; meter shards keep every row
LeftTwixWand Oct 5, 2026
9cc55a9
fix(apps): a Builder reply with empty operations keeps the authored ones
LeftTwixWand Oct 5, 2026
a1ca15c
refactor(compute): brain vocabulary replaces workspace in contracts
LeftTwixWand Oct 5, 2026
b5e44ea
fix(compute): persisted-id baseline follows MeterEvent; brain prose a…
LeftTwixWand Oct 5, 2026
e2fce44
fix(apps): review fix pass — verdicts bind to the tested version, bui…
LeftTwixWand Oct 5, 2026
0f67b13
fix(apps): fold the review minors — new behaviors deploy rather than …
LeftTwixWand Oct 5, 2026
d8a7846
fix(compute): final review fixes — per-brain recurring accrual keys, …
LeftTwixWand Oct 5, 2026
ba80a29
Create 2026-10-05-compute-ledger-collapse.md
LeftTwixWand Oct 5, 2026
851b6d8
Update SessionCookieFacts.cs
LeftTwixWand Oct 5, 2026
b6d238f
Fix formatting
LeftTwixWand Oct 5, 2026
684d137
style(shell): dart format the apps screens and ui client
LeftTwixWand Oct 5, 2026
0f82d2e
docs(apps): design real owners, Marketplace and Install
LeftTwixWand Oct 5, 2026
d1febe3
docs(apps): implementation plan for real owners, Marketplace and Install
LeftTwixWand Oct 5, 2026
7451792
fix(apps): guards recognize the app neuron by its real grain type
LeftTwixWand Oct 5, 2026
a118ae2
feat(identity): seed configured accounts at startup
LeftTwixWand Oct 5, 2026
34a4e82
feat(identity): Open hosts list and sign into seeded accounts
LeftTwixWand Oct 5, 2026
fba0fe5
fix(apps): shipped apps live in their publisher account's real brain
LeftTwixWand Oct 5, 2026
d961888
fix(apps): operations that deploy behaviors outlast the default call …
LeftTwixWand Oct 5, 2026
66ad338
refactor(apps): the app grain type lives in the Framework ring
LeftTwixWand Oct 5, 2026
df377d4
fix(kernel): a subscriber may watch a source whose turn is waiting on it
LeftTwixWand Oct 5, 2026
4a6b956
fix(apps): live scenarios stay outside the publish gate
LeftTwixWand Oct 5, 2026
c3a87ec
test(customer-researcher): the stop scenario researches its own company
LeftTwixWand Oct 5, 2026
a41a4e7
feat(apphost): seed the IntoChat account and ship its apps into its b…
LeftTwixWand Oct 5, 2026
a3315ff
feat(apps): installed copies remember their origin and the first edit…
LeftTwixWand Oct 5, 2026
88594ea
feat(apps): shipped app folders round-trip, writable folders accept b…
LeftTwixWand Oct 5, 2026
b0e38ce
feat(apps): publish a green version into a Marketplace only its app m…
LeftTwixWand Oct 5, 2026
c4b75ef
feat(apps): install from the Marketplace; updates replace the program…
LeftTwixWand Oct 5, 2026
333a63b
feat(apps): browse, install, publish and update over the brain route
LeftTwixWand Oct 5, 2026
ada141c
feat(intochat): Customer Researcher and Word count ship Marketplace i…
LeftTwixWand Oct 5, 2026
01212c3
feat(apps): repository folders and publisher brains sync at the publi…
LeftTwixWand Oct 5, 2026
b18660d
feat(os): new brains install the default apps from the Marketplace
LeftTwixWand Oct 5, 2026
863856e
feat(ai): task-shaped agent turns publish progress, completion and fa…
LeftTwixWand Oct 5, 2026
18aa260
feat(ai): agent turns run against scripted models for deterministic p…
LeftTwixWand Oct 5, 2026
505d8f3
fix(os): a default published after a brain activated still reaches it
LeftTwixWand Oct 5, 2026
0853e12
feat(os): ship the Assistant as the os/assistant app, installed by de…
LeftTwixWand Oct 5, 2026
9be4822
fix(kernel): a brain in use is established, so the OS boots its defau…
LeftTwixWand Oct 5, 2026
16fa656
refactor(assistant)!: retire the built-in assistant window; os/assist…
LeftTwixWand Oct 5, 2026
425cbb6
feat(shell): core models and calls for Marketplace, docking and seede…
LeftTwixWand Oct 5, 2026
29161e0
feat(shell): app icons render the shipped SVG or the title's initial
LeftTwixWand Oct 5, 2026
41de45b
feat(shell): an app detail page with publisher, scenarios and install…
LeftTwixWand Oct 5, 2026
f942397
feat(shell): Home shows my apps, then the Marketplace
LeftTwixWand Oct 5, 2026
5d422b0
feat(shell): publish a green version and show where an installed copy…
LeftTwixWand Oct 5, 2026
8a2d3de
feat(shell): home is the start view and replaces the Applications popup
LeftTwixWand Oct 5, 2026
6f4373c
feat(shell): dock any installed app in the side panel; Home stands in…
LeftTwixWand Oct 5, 2026
e84f41a
feat(shell): switching account offers the seeded accounts, one step each
LeftTwixWand Oct 5, 2026
fc57c59
chore(shell): drop the dead built-in app view
LeftTwixWand Oct 5, 2026
a0502f8
fix(apps): drop the package-key remnants; the researcher opens in its…
LeftTwixWand Oct 5, 2026
fe53f87
docs: CLAUDE.md describes owners, publish, Marketplace and install
LeftTwixWand Oct 5, 2026
d5c800d
docs: CLAUDE.md shows the dbtest:fail separator as \t
LeftTwixWand Oct 5, 2026
7c6f474
chore(intochat): Customer Researcher 1.1.3 after the live publish rou…
LeftTwixWand Oct 5, 2026
726a0b7
fix(identity): seed passwords only on Open hosts; seeded names are re…
LeftTwixWand Oct 5, 2026
edf3cec
fix(apps): icons are served inert, so a publisher's SVG cannot run sc…
LeftTwixWand Oct 5, 2026
9396618
fix(apps): a listing stays with the brain that published it; deleting…
LeftTwixWand Oct 5, 2026
33911fa
fix(apps): development sync only fast-forwards a folder and never ove…
LeftTwixWand Oct 5, 2026
418e88e
test(kernel): a watcher arriving mid-notification leaves the publish …
LeftTwixWand Oct 5, 2026
ad9bf74
fix(ai): starting a turn is never held up by another conversation's r…
LeftTwixWand Oct 5, 2026
e52b9a2
fix(assistant): a refused send keeps the message and the button; text…
LeftTwixWand Oct 5, 2026
008dda4
fix(os): a default app is offered once, so a deleted one stays deleted
LeftTwixWand Oct 5, 2026
6b3cb4c
fix formatting
LeftTwixWand Oct 5, 2026
47a4c44
Removing trash
LeftTwixWand Oct 6, 2026
2efe269
Restructuring
LeftTwixWand Oct 6, 2026
f645aa7
Restructuring
LeftTwixWand Oct 6, 2026
1ca69fa
Restructuring 3
LeftTwixWand Oct 6, 2026
365c1d2
Fix broken references
LeftTwixWand Oct 6, 2026
621ea4c
Track Grok's C# language server config.
LeftTwixWand Oct 6, 2026
e8438d6
Update settings.json
LeftTwixWand Oct 6, 2026
902f8ef
Update CLAUDE.md
LeftTwixWand Oct 6, 2026
ed7292f
Update lsp.json
LeftTwixWand Oct 6, 2026
87c0aa4
Update settings.json
LeftTwixWand Oct 6, 2026
8b4cd67
Update CLAUDE.md
LeftTwixWand Oct 6, 2026
6a1e614
Update CLAUDE.md
LeftTwixWand Oct 6, 2026
7afff79
Some refactoring
LeftTwixWand Oct 6, 2026
6a0fea5
Postgres: one TableOwner type for app table keys
LeftTwixWand Oct 6, 2026
86ebf5e
Postgres contracts: IPostgresServer and the Tables vocabulary
LeftTwixWand Oct 6, 2026
e058bc6
Postgres runtime: server at the root, Tables folder
LeftTwixWand Oct 6, 2026
e12fef8
Postgres.Windows: Assistant tools and live table sources leave the Po…
LeftTwixWand Oct 6, 2026
7add77f
Postgres hosting: provision from the module's own options
LeftTwixWand Oct 6, 2026
c069295
Solution: add Postgres.Windows projects
LeftTwixWand Oct 6, 2026
d5f9419
Postgres: review fixes — scope-id owners, empty-app and Supabase comp…
LeftTwixWand Oct 6, 2026
34aee6d
Refactoring
LeftTwixWand Oct 6, 2026
a77008a
Docs: DataVisualizer design and implementation plan
LeftTwixWand Oct 6, 2026
9a2c4ec
Flutter: tables and charts are sinks; Bind and SetView leave the cont…
LeftTwixWand Oct 6, 2026
2f27a2d
Postgres, Supabase: the row-source neurons leave; SQL is the only query
LeftTwixWand Oct 6, 2026
c097bd6
Kernel: the Data namespace leaves; no declarative query crosses a con…
LeftTwixWand Oct 6, 2026
c017385
Shell: drop the unreachable createTable client method
LeftTwixWand Oct 6, 2026
e00ac67
Postgres: Query takes bound parameters
LeftTwixWand Oct 6, 2026
c8ac3cf
Supabase: Query takes bound parameters
LeftTwixWand Oct 6, 2026
263e3b2
Flutter: app surfaces embed table and chart neurons
LeftTwixWand Oct 6, 2026
01caf0f
Flutter: table nodes tolerate empty and ragged states
LeftTwixWand Oct 6, 2026
f0aa7de
DataVisualizer: manifest, spec and default registration
LeftTwixWand Oct 6, 2026
20a8a7d
DataVisualizer: scenarios
LeftTwixWand Oct 6, 2026
323eeab
DataVisualizer: live scenario uses the verifier's (live) suffix
LeftTwixWand Oct 6, 2026
8c6627f
DataVisualizer: views behavior
LeftTwixWand Oct 6, 2026
015767e
DataVisualizer: refine declares sql; status card contract in scenarios
LeftTwixWand Oct 6, 2026
de48316
DataVisualizer: runner behavior
LeftTwixWand Oct 6, 2026
d12a9b9
DataVisualizer: runner subscribes before running, resubscribes, seria…
LeftTwixWand Oct 6, 2026
5f5d350
Point every repo path at src/DigitalBrain.Modules
LeftTwixWand Oct 6, 2026
0c190ed
DataVisualizer: bump to 1.0.1 so the startup gate verifies the finish…
LeftTwixWand Oct 6, 2026
4096cbb
Point the sandbox at src/DigitalBrain.Client
LeftTwixWand Oct 6, 2026
c6e374e
Flutter: layouts accept table and chart children
LeftTwixWand Oct 6, 2026
686f9fe
DataVisualizer: a non-shutdown cancellation no longer ends a view's r…
LeftTwixWand Oct 6, 2026
e273172
Enforcement leaves the kernel; Compute owns its allowance request
LeftTwixWand Oct 6, 2026
3470e00
Repo: CI, deploy and gitignore paths follow src/DigitalBrain.Modules
LeftTwixWand Oct 6, 2026
effc533
Forms own their field kind and secret; Types leave the kernel
LeftTwixWand Oct 6, 2026
962ffb6
Kernel is the four words; account requests live in Platform.Contracts
LeftTwixWand Oct 6, 2026
186a84b
Plan: amendment after the live run — connection-keyed Postgres, small…
LeftTwixWand Oct 6, 2026
553757d
Postgres: a connection-keyed server neuron serves a brain's own database
LeftTwixWand Oct 6, 2026
b936784
DataVisualizer: one behavior per reaction, a db slot, no tests
LeftTwixWand Oct 6, 2026
758e65b
DataVisualizer: run every view on start and after each resubscribe
LeftTwixWand Oct 6, 2026
25fc1f6
Apps: a build-verified shipped bundle goes live without scenarios
LeftTwixWand Oct 6, 2026
d707b78
Spec: synapse becomes the fourth word's type; the ring sheds the session
LeftTwixWand Oct 6, 2026
6808d41
Spec: IDigitalBrain stays as the program's two verbs; the C# rich vie…
LeftTwixWand Oct 6, 2026
bc7ff10
Plan: synapse vocabulary in three commits
LeftTwixWand Oct 6, 2026
8a20b0d
Ring: IDigitalBrain is resolve and watch; handles move to Framework; …
LeftTwixWand Oct 6, 2026
9ceb5cc
Apps: first-party programs watch with On and recover through Invocations
LeftTwixWand Oct 6, 2026
4fd8e0d
Ring: ISynapse, the fourth word's type
LeftTwixWand Oct 6, 2026
2281631
CSharp: the file neuron is the C# dialect of a synapse
LeftTwixWand Oct 6, 2026
b0d4892
Apps: bundles carry synapses/, the assistant lists synapses
LeftTwixWand Oct 6, 2026
0a0fbb4
OS: every shipped synapse reads alive end to end
LeftTwixWand Oct 6, 2026
5a0eaf2
Client: On is a hand-written stream that survives disposal mid-read
LeftTwixWand Oct 6, 2026
5ca742b
Ring: four words, one entrypoint
LeftTwixWand Oct 6, 2026
75038f4
Enforcement: the platform attributes leave the ring
LeftTwixWand Oct 6, 2026
c772d1f
Ring: IDigitalBrain is the entrypoint, IKernel the first neuron
LeftTwixWand Oct 6, 2026
4dfa208
Framework: the kernel, the activation pipeline, one entrypoint per brain
LeftTwixWand Oct 6, 2026
34ac90e
refactoring
LeftTwixWand Oct 6, 2026
d74f468
Update namespaces
LeftTwixWand Oct 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 4 additions & 1 deletion .claude/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,9 @@
"digitalbrain-mcp"
],
"disableClaudeAiConnectors": true,
"enabledPlugins": {},
"enabledPlugins": {
"csharp-lsp@claude-plugins-official": true,
"dart-analyzer@claude-code-lsps": true
},
"extraKnownMarketplaces": {}
}
26 changes: 12 additions & 14 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:
run: dotnet build DigitalBrain.slnx -c Release --no-restore -v quiet -p:CodeGraphRefresh=false

- name: Build the sample C# file app
run: dotnet build src/Modules/Microsoft/CSharp/Samples/timer-report.cs -c Release -v quiet -p:CodeGraphRefresh=false
run: dotnet build src/DigitalBrain.Modules/Microsoft/CSharp/Samples/timer-report.cs -c Release -v quiet -p:CodeGraphRefresh=false

- name: Validate NuGet packages
run: dotnet pack DigitalBrain.slnx -c Release --no-build -v quiet -o artifacts
Expand All @@ -78,20 +78,18 @@ jobs:
dotnet-e2e:
name: 'E2E: ${{ matrix.suite }}'
runs-on: ubuntu-latest
timeout-minutes: 20
# The os suite runs the reference-brain facts and the product-host facts in one serial assembly.
timeout-minutes: 40
strategy:
fail-fast: false
matrix:
include:
- suite: kernel
project: src/DigitalBrain/Kernel/tests/DigitalBrain.Kernel.Tests.E2E
- suite: framework
project: src/DigitalBrain/Framework/tests/DigitalBrain.Framework.Tests.E2E
browser: true
- suite: os
project: src/DigitalBrain/OS/tests/DigitalBrain.OS.Tests.E2E
browser: true
- suite: intochat
project: src/IntoChat/tests/IntoChat.Tests.E2E
browser: true
- suite: aspire-hosting
project: src/Aspire/tests/DigitalBrain.Aspire.Hosting.Tests.E2E
browser: false
Expand Down Expand Up @@ -128,10 +126,10 @@ jobs:
# test, never a wrong artifact.
- name: Warm the shell image layer cache
if: matrix.browser == true
run: docker build -f src/Modules/Google/Flutter/app/shell/Dockerfile src/Modules/Google/Flutter/app
run: docker build -f src/DigitalBrain.Modules/Google/Flutter/app/shell/Dockerfile src/DigitalBrain.Modules/Google/Flutter/app

- name: Warm the sandbox image layer cache
run: docker build src/Modules/Microsoft/CSharp/DigitalBrain.Modules.Microsoft.CSharp.Sandbox
run: docker build src/DigitalBrain.Modules/Microsoft/CSharp/DigitalBrain.Modules.Microsoft.CSharp.Sandbox

# Scripts restore inside the sandbox against its named NuGet volume; seeding it from the
# host's packages (already restored for the suite) removes every in-sandbox download.
Expand All @@ -150,7 +148,7 @@ jobs:
timeout-minutes: 35
defaults:
run:
working-directory: src/Modules/Google/Flutter/app/shell
working-directory: src/DigitalBrain.Modules/Google/Flutter/app/shell
steps:
- uses: actions/checkout@v7

Expand All @@ -161,15 +159,15 @@ jobs:
cache: true

- name: Resolve Flutter workspace
working-directory: src/Modules/Google/Flutter/app
working-directory: src/DigitalBrain.Modules/Google/Flutter/app
run: flutter pub get --enforce-lockfile

- name: Dart format
working-directory: src/Modules/Google/Flutter/app
working-directory: src/DigitalBrain.Modules/Google/Flutter/app
run: dart format --output=none --set-exit-if-changed core ui shell

- name: Analyze Flutter packages
working-directory: src/Modules/Google/Flutter/app
working-directory: src/DigitalBrain.Modules/Google/Flutter/app
run: |
(cd core && dart analyze --fatal-infos)
(cd ui && flutter analyze --no-pub)
Expand All @@ -179,7 +177,7 @@ jobs:
run: flutter build web --release --base-href "/" --no-tree-shake-icons --no-pub

- name: Flutter widget and client tests
working-directory: src/Modules/Google/Flutter/app
working-directory: src/DigitalBrain.Modules/Google/Flutter/app
run: |
(cd ui && flutter test --no-pub)
(cd shell && flutter test --no-pub)
10 changes: 5 additions & 5 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
env:
ContainerImageTags: ${{ github.event.release.tag_name }};latest
run: |
dotnet publish src/DigitalBrain/OS/DigitalBrain.OS.Host/DigitalBrain.OS.Host.csproj \
dotnet publish src/DigitalBrain/OS/DigitalBrain.OS/DigitalBrain.OS.csproj \
-c Release -r linux-x64 /t:PublishContainer \
-p:PublishProfile=Container \
-p:EnableSdkContainerSupport=true \
Expand Down Expand Up @@ -148,7 +148,7 @@ jobs:
url: https://purple-sky-0f80f110f.7.azurestaticapps.net/
defaults:
run:
working-directory: src/Modules/Google/Flutter/app/shell
working-directory: src/DigitalBrain.Modules/Google/Flutter/app/shell
steps:
- uses: actions/checkout@v7

Expand All @@ -159,11 +159,11 @@ jobs:
cache: true

- name: Resolve Flutter workspace
working-directory: src/Modules/Google/Flutter/app
working-directory: src/DigitalBrain.Modules/Google/Flutter/app
run: flutter pub get --enforce-lockfile

- name: Dart format
working-directory: src/Modules/Google/Flutter/app
working-directory: src/DigitalBrain.Modules/Google/Flutter/app
run: dart format --output=none --set-exit-if-changed core ui shell

- name: Web release build
Expand All @@ -178,7 +178,7 @@ jobs:
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }}
action: upload
app_location: src/Modules/Google/Flutter/app/shell/build/web
app_location: src/DigitalBrain.Modules/Google/Flutter/app/shell/build/web
api_location: ''
output_location: ''
skip_app_build: true
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ TestResults/
.vs/
logs/
.codegraph/
.grok/
.grok/*
!.grok/lsp.json
.digitalbrain/
.agents/
.superpowers/
Expand All @@ -27,7 +28,7 @@ node_modules/

# Dart / Flutter clients
**/.dart_tool/
/src/Modules/Google/Flutter/app/build/
/src/DigitalBrain.Modules/Google/Flutter/app/build/
**/packages/pubspec_overrides.yaml

plans/stage1/logs/
Expand Down
22 changes: 22 additions & 0 deletions .grok/lsp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"csharp": {
"command": "csharp-ls",
"args": ["--solution", "DigitalBrain.slnx", "--loglevel", "warning"],
"extensionToLanguage": {
".cs": "csharp"
},
"startupTimeout": 120000
},
"dart": {
"command": "dart",
"args": ["language-server", "--protocol=lsp"],
"extensionToLanguage": {
".dart": "dart"
},
"workspaceFolder": "src/DigitalBrain.Modules/Google/Flutter/app",
"initializationOptions": {
"onlyAnalyzeProjectsWithOpenFiles": true
},
"startupTimeout": 120000
}
}
Loading
Loading