AIJIM SHARK
ArchitectureNamespaces

Monorepo Structure

The repo now reflects a Core-first split: Next.js owns UI and proxying, Python Core owns normative behavior, and LINA keeps only interaction and voice-local domains.

Workspace Definition

packages:
  - apps/*
  - services/*
  - packages/*
  - documentation

`apps/docs` is part of the same workspace graph, but it is the human-facing summary layer. Authoritative scope and runbook statements still live in the cited source artifacts.

Package Layout

apps/shark-app

Main Next.js product app: browser UI, BFF routes, and LINA-facing proxies.

apps/docs

Human-facing docs index and summary layer for the current architecture.

services/aijim-core

Python FastAPI Core with normative execution, conformance, governance, and audit logic.

services/voice-renderer

Dedicated LINA voice/STT/TTS runtime and operations surface.

API Namespace Split

NamespaceOwnerExamplesNotes
/api/core/*AIJIM Core via Next.js BFF proxies/api/core/evidence/*, /api/core/stories/*, /api/core/audit-bundle/*, /api/core/signature/verifyOnly namespace for Core-owned product routes. Browser clients never call Core directly.
/api/workspace/v1/*AIJIM SHARK Product API/api/workspace/v1/reads, /api/workspace/v1/writes, registered Product operationsActor-bound Product reads and writes. These operations do not redefine Protocol or Core semantics.
/api/lina/*LINA runtime/api/lina/session-events, /api/lina/voice/*, /api/lina/voice-metrics, /api/lina/rag/*Interaction, voice, and assistant-local state only. No new normative write paths belong here without a boundary amendment.
/api/dev/*Bound non-production authentication recovery/api/dev/auth/dummy-loginNo Product seeding and no alternate persistence authority. The route is unavailable outside its explicit non-production gate.

Retired Namespace

The newsroom runtime namespace is retired. Current docs should treat it as historical only, and the repo-level guardscripts/check_retired_api_namespaces.shprevents the historical newsroom route family from re-entering runtime code. The ownership split is defined indocumentation/runbooks/AIJIM_CORE_FIRST_OWNERSHIP_MATRIX.md.