Vendor generated SourceOS interaction types#17
Merged
Conversation
This was referenced May 30, 2026
Merged
mdheller
added a commit
that referenced
this pull request
Jun 17, 2026
Adds typed Noetica contract stubs for model-router and memory-mesh authority seams. Includes model route request/decision types, a no-live-call model-router adapter, memory scope/recall/write-proposal types, a no-live-call/no-writeback memory-mesh adapter, docs/adapter-contracts.md, and AGENTS.md boundary updates. Validation: GitHub Actions validate run #17 passed install, typecheck, lint, and build.
mdheller
added a commit
that referenced
this pull request
Jun 22, 2026
…xhaust + surface errors (#128) Gaps #17/18/19/64 — 'the graph is trash, the lenses are all the same': - The Memory lens (view=document) returned 0 nodes: Document/memory/chat atoms encode content in a path-shaped filename (memory/curation-<stamp>.md) that the generic cleaner's isProse/isHashy guards rejected → null → filtered out before BFS. Added docTitle() to derive a stable basename title for DOC_KINDS, so the lens surfaces real docs + remembered facts again. - The graph is ~84% LearningState self-state exhaust (written every 60s + per turn). cleanLabel now returns null for exhaust (isExhaust): one line de-pollutes EVERY surface lens AND all ~16 analytics clean-set filters at once (they all gate on cleanLabel !== null), so lenses + PageRank/Louvain reflect knowledge, not telemetry. - Lens label↔param now agree: 'Memory' sends view=memory (was the mislabeled view=document); added the memory VIEW_ROOTS. - The main surface fetch set no error on failure (silent blank) — now sets the existing 'graph unreachable' banner state instead of failing silent. +4 tests (isExhaust, docTitle revival, memory lens non-empty + exhaust-excluded). Backend + frontend 0. Co-authored-by: Michael Heller <YOUR_COMMIT_EMAIL> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
mdheller
added a commit
that referenced
this pull request
Jun 23, 2026
… decorative) (#190) assertCapability (agent-containment) had ZERO call sites — a 'read-only'/'research' bound purpose did nothing; the agent could still shell out. Now executeTool maps each tool to the capability it exercises (run_command/ code_execute→exec, write_file/edit_file→fs-write, read_file/list_directory/ocr→fs-read, remember→memory-write, web_search/public_data/generate_image→net) and asserts it against the bound purpose BEFORE the side-effect — returning a '[blocked]' result instead of executing. Verified: under purpose 'read-only', exec is BLOCKED; under 'full', allowed. Backend 0. Co-authored-by: Michael Heller <YOUR_COMMIT_EMAIL> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
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.
Summary
Migrates Noetica away from a hand-maintained
SourceOSInteractionEventmirror by vendoring the generated TypeScript artifact fromSourceOS-Linux/sourceos-spec.This PR adds:
lib/contracts/sourceos/generated/sourceos-interaction-event.tslib/types/sourceos-interaction.tsContract source
Vendored from:
SourceOS-Linux/sourceos-speccommitc7f8c2d9e42a56e1127c2f9b85649cbea0f0a9fagenerated/typescript/sourceos-interaction-event.tsBoundary posture
This does not change Noetica runtime behavior. It keeps Noetica as the browser chat/model/steering UX surface and moves the local type shape onto the canonical SourceOS generated artifact.
Validation expected
Related