kami
a5dc983a57
feat(workflow): typed produces slots — StageConfig uses TypedArtifactSlot, TOML accepts {name, kind} objects
2026-05-18 21:39:08 +04:00
kami
c2267a58a0
feat(core:inference): add ResponseFormat, ToolDefinition, ToolCallRequest; extend InferenceRequest with tools and responseFormat
2026-05-18 21:38:50 +04:00
kami
325810934a
feat(core:artifacts): ArtifactKind interface, registry, built-in kinds, and MaterializingArtifactWriter
2026-05-18 21:38:44 +04:00
kami
219e2c762e
feat(cas): content-addressed artifact store (steps 1–8)
...
New core:artifacts-store interface + infrastructure/artifacts-cas
implementation: segment files + SQLite index, Blake3 hashing,
group-commit fsync via flushBefore, recovery tail-scan, manual
compactor, and oldest-first disk-cap evictor.
Inference events now carry promptArtifactId / responseArtifactId;
orchestrators put bytes before emitting. SqliteEventStore wraps
its txn in artifactStore.flushBefore so segment data is fsynced
before the event commit, making the crash window non-corrupting
(TailScanner re-indexes orphan tail records on reopen).
Compactor and evictor are mutually exclusive via maintenanceMutex.
Step 9 (cloud sync) deferred to a later epic.
See docs/reviews/2026-05-18-cas-steps-1-8-review.md for the final
review.
2026-05-18 12:22:38 +04:00
kami
7d46f46f01
fix(server): event capturing and necessary logic for smoke test.
2026-05-17 03:21:42 +04:00
kami
b95135eb3b
refactor(tui): event-loop foundation — actions, reducers, effects, Panel
...
Tasks 1.1–3.3 of docs/plans/2026-05-17-tui-refactor.md:
- Mosaic 0.13 → 0.18; Kotlin 2.0.21 → 2.2.10 (required by Mosaic).
Fix MaxLineLength regressions in core/kernel orchestration logs.
- Input: drop raw System.in reader and ANSI escape parser. Wire
Modifier.onKeyEvent at root; MosaicKeyMapper → KeyResolver → Action.
- State: split TuiState into Connection/Sessions/Input/Approval/Provider
slices. Add InputMode.SteeringNote; delete handleSteer/System.console.
- Reducers: pure RootReducer composes slice reducers returning
(state, List<Effect>). Effect is sealed (SendWs, Quit). Single
dispatch(action) point in TuiApp; one coroutine drains effects.
- TuiWsClient now exposes messages/connection SharedFlows; suspend
callbacks gone. ConnectionEvent sealed type added.
- Rendering: Panel(title){…} composable with LocalTerminalSize
composition local; drop BOX_WIDTH and hand-padding from every
component. Poll stty size every 500ms.
- Tests: KeyResolver (18) + 5 reducer suites (37). 55 total in :apps:tui.
Pending tasks 4.1–5.2 tracked in
docs/plans/2026-05-17-tui-refactor.progress.md.
2026-05-17 03:21:26 +04:00
kami
f77efce10b
debt(pre-router): resolved most of the technical debt that was noted while finishing epic-12 and epic-13.
2026-05-17 03:21:26 +04:00
kami
2207a37549
epic-13: add cli and tui entry point, finish epic.
2026-05-17 03:20:43 +04:00
kami
ce723afc8b
refactor(imports): optimize imports
2026-05-17 03:19:57 +04:00
kami
c77277af0b
epic-12: after epic audit and init commit
2026-05-17 03:19:39 +04:00