Skip to content

Vendor generated SourceOS interaction types#17

Merged
mdheller merged 2 commits into
mainfrom
work/generated-interaction-types
May 30, 2026
Merged

Vendor generated SourceOS interaction types#17
mdheller merged 2 commits into
mainfrom
work/generated-interaction-types

Conversation

@mdheller

Copy link
Copy Markdown
Member

Summary

Migrates Noetica away from a hand-maintained SourceOSInteractionEvent mirror by vendoring the generated TypeScript artifact from SourceOS-Linux/sourceos-spec.

This PR adds:

  • lib/contracts/sourceos/generated/sourceos-interaction-event.ts
  • a compatibility re-export from lib/types/sourceos-interaction.ts

Contract source

Vendored from:

  • SourceOS-Linux/sourceos-spec commit c7f8c2d9e42a56e1127c2f9b85649cbea0f0a9fa
  • generated/typescript/sourceos-interaction-event.ts

Boundary 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

npm run typecheck
npm run lint
npm run build

Related

@mdheller
mdheller merged commit 6d84be0 into main May 30, 2026
5 checks passed
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>
@mdheller
mdheller deleted the work/generated-interaction-types branch July 19, 2026 03:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant