Skip to content
Merged
7 changes: 6 additions & 1 deletion catalogs/foundation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ Start with the layer needed for the task in [manifest.json](manifest.json), then
read its scoped capability decision in [decisions.json](decisions.json). A default
is a selected way to do a task, not permission to install or activate every tool.

The [October 2 two-host architecture decision](../../docs/decisions/2026-10-02-two-host-north-star-architecture.md)
reconciles the macOS/workstation roles, current native Sol policy, SDK/gateway
boundary and Pi release review for starting North Star R&D. Its dated source
review does not promote a new runtime or replace the scoped receipts below.

The [current layer comparisons](../landscape/foundation.json) explain why each
choice is retained, what happened to named alternatives, and what evidence would
change the decision. Open Choices & alternatives
Expand Down Expand Up @@ -61,7 +66,7 @@ and original results remain in the canonical manifests linked below.
| Hosting and services | FastAPI, Next.js/React, PostgreSQL, MCPorter/Inspector; platform-specific containers | [Native application installation and checks](../../blueprints/convergence-practice/wsl-application/README.md), [application contract](../../blueprints/convergence-practice/application-delivery/README.md) |
| Recovery and portability | Restic, ai-memory, Qdrant, Dagu, systemd, native session continuation | [Lifecycle operations](../../adoption/lifecycle.md), [off-host application restore](../../blueprints/convergence-practice/offhost-app-state/README.md) |
| Observation and inference | OpenTelemetry Collector/otel-tui, Prometheus, Grafana, Loki, Alertmanager, ntfy, AgentsView, ccusage; vLLM/llama.cpp | [Observation setup](../../observability/README.md), [native backends](../../observability/backends/README.md), [GPU compatibility evidence](../../blueprints/convergence-practice/gpu-inference/README.md) |
| Agent SDKs and runtime workers | Codex CLI/SDK; Claude Agent SDK, OpenHands SDK, Temporal, LangGraph remain deferred | [Native client installation](../../recipes/README.md#component-catalog-install-and-check), [SDK table review](../../docs/foundation-closure-20260921.md#sdk-and-runtime-decisions) |
| Agent SDKs and runtime workers | Native Codex CLI/SDK first; explicit OmniRoute SDK lane for application needs; Pi remains an optional trial | [Current runtime boundaries and release review](../../docs/decisions/2026-10-02-two-host-north-star-architecture.md#runtime-and-model-contract), [historical SDK table](../../docs/foundation-closure-20260921.md#sdk-and-runtime-decisions) |
| MCP servers and client surfaces | mcporter, mcp-inspector | [Native project MCP](../../recipes/README.md#native-project-mcp), [other native commands](../../recipes/README.md) |
| Secrets and credentials | Native per-client login, Gitleaks | [Native CI/security verification](../../blueprints/convergence-practice/ci-security/README.md), [lifecycle operations](../../adoption/lifecycle.md) |
| Git practice and GitHub automation | Worktrunk, gh CLI, Difftastic, codex-for-claude review bridge | [GitHub automation handbook](../../docs/github-automation.md), [optional Codex for Claude](../../recipes/README.md#optional-codex-for-claude) |
Expand Down
6 changes: 3 additions & 3 deletions catalogs/foundation/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -164,10 +164,10 @@
"id": "agent-sdks",
"title": "Agent SDKs and runtime workers",
"purpose": "Select the programmatic SDK or runtime that gives a worker structured events, custom tools or session control beyond the native CLI.",
"selection": "Retain the existing Codex CLI/SDK integration (component codex) for supported start/run/resume workflows; Claude Agent SDK, OpenHands SDK, Temporal and LangGraph remain unselected alternatives.",
"selection": "Retain native Codex CLI/SDK for session work. Use an explicitly configured OmniRoute SDK lane for application tools/events/handoffs; Pi remains an optional trial. The source-only 2026-10-02 two-host review is in docs/decisions/2026-10-02-two-host-north-star-architecture.md; it does not promote a new runtime.",
"activation": "Use the native CLI for ordinary work; reach for an official SDK only when an application needs structured events, custom tools or programmatic session control.",
"lifecycle_scope": "Codex CLI/SDK use is accepted within its recorded tests; Claude Agent SDK, OpenHands SDK, Temporal and LangGraph have no adoption lifecycle here, only source-reviewed version pins.",
"next_gap": "The SDK table in docs/foundation-closure-20260921.md lines 78-84 has not been revisited by any lane since 2026-09-21; qualify a concrete application need before promoting a deferred alternative."
"lifecycle_scope": "Retain each runtime's recorded host, version and task scope. Native Codex receipts, separate SDK protocol checks and the unmerged Pi trial are distinct; the 2026-10-02 source review supplies no new model, runtime or workstation lifecycle acceptance.",
"next_gap": "The 2026-10-02 source review distinguishes native Ultra from API reasoning enums and Pi 0.99.1 trial evidence from upstream 1.0.0. Qualify the actual application's endpoint, locked SDK, extensions, cancellation and resume before broader promotion; workstation activation remains host-specific."
},
{
"id": "mcp-surfaces",
Expand Down
5 changes: 5 additions & 0 deletions docs/convergence-architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,11 @@ to evaluate a proposed change. Source pins live in
[the stack manifest](../manifests/stack.json); evidence classes and publication
limits live in [the evidence guide](evidence.md).

For the current macOS/workstation operating selection and the immediate North
Star R&D starting boundary, use the [October 2 two-host architecture decision](decisions/2026-10-02-two-host-north-star-architecture.md).
It separates native clients, SDK/gateway workers and the optional Pi runtime,
and distinguishes local acceptance from the workstation's remaining activation.

The working sequence is:

```text
Expand Down
89 changes: 89 additions & 0 deletions docs/decisions/2026-10-02-mac-claude-resolution.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Mac native Claude deployment resolution

Decision date: 2026-10-02. Canonical deployment source:
`18eea2c1de992b46c266d79ef0cc40f93c9fb943`.
Scope: the existing Mac Claude deployment and one bounded native integration
check. No component selection, service placement or workstation acceptance
changes follow from this record.

## Deployment repairs and checks

The Mac owner replaced the stale installed
[effort guard](../../adoption/hooks/claude/effort-default-guard.py) through its
existing installer and deployed the byte-identical
[canonical Mac launcher](../../adoption/bootstrap-macos.sh). A scoped interactive
shell alias now routes ordinary `claude` invocations through that launcher.
Its default terminal case adds `--effort max`; explicit effort, headless inputs
and environment overrides retain the upstream launcher's controls.

The obsolete guard reproduced two regression errors before replacement;
the original failures remain retained. After repair, all 14 selected source
tests passed (nine guard tests and five launcher tests), exit 0. The launcher
source tests include nine
deliberately broken controls. The deployed launcher passed all 27 existing
argument/PTY cases; shell syntax and fresh interactive resolution/version
checks passed. These counts describe distinct checks and are not added to a
whole-stack total.

A separate bounded Sol review found no material issues; all nine reviewed
input hashes matched. It confirmed canonical guard/launcher bytes, only the
scoped shell alias added, the saved settings and native binary unchanged, the
full 332-byte retrieval seal, and the historical S12 result preserved. This
source/evidence review does not establish blind cross-family convergence.

| Verified deployment artifact | SHA256 |
| --- | --- |
| Canonical effort guard | `2a5f087f2c10437bab302e19469ae6b2e715828083a8bae07a7b177540b63e0e` |
| Canonical Mac launcher | `f48eb13407391d73becb0848a7114d5662dc55dba4335b64bd0378b6210a2cd5` |

The official auto-updating Claude binary remained intact, observed at 2.1.287.
Saved Opus/xhigh preferences and Ultracode remained as observed. The owner observed
filtered native auth-status: first-party login with Max subscription; the native
stream independently confirms the `firstParty` provider, not the subscription
plan. No authentication store, service, global MCP configuration or SDK/provider
route changed.

## Separate native integration result

One Claude Opus 5.5 session, explicitly `--effort max`, used official installed
SocratiCode 1.16.0 with task-only strict MCP configuration and an owned unchanged
332-byte fixture. The identical preregistered query returned `Not Found` before
indexing. One full index explicitly completed in 2.0 seconds; the query then
retrieved exactly `pipeline.py` lines 1–10. The owner independently compared the
full source text and function oracle. The session completed successfully in
178.728 seconds, exit 0, within its 300-second deadline.

The native return contains two search calls, one index call and two status
calls, plus one denied extra `codebase_watch(action=status)` call. No denial was
bypassed. The allowed status operation independently confirmed the task watcher
disabled. The task-cwd process scan found no remaining native/node process
after exit; escaped descendants were not independently attested. The task index
is retained with watchers off.

| Retained local evidence identity | SHA256 |
| --- | --- |
| Native event log | `5f9515514cba5ed64f6f60777b63f72a6d6d2dc44016062f9293ab60262b8198` |
| Unchanged source fixture | `49c4104563a1b55c8d08235905afa0537ef4f2eecd213deb87cb2438a3b0cd8a` |

The complete native stream, session history, configuration and authentication
stores stay local. These hashes identify evidence; they do not make the private
stream independently reproducible from this source record.

## Acceptance boundaries

The historical read-only Claude suite remains **11 pass / 1 partial / 0 fail**
with all 22 prescribed inputs matched. Its S12 contract prohibited indexing and
search. This new check is separate local integration evidence using unchanged
upstream operations; it does not rewrite S12 or complete the upstream Docker
E2E suite, representative native lifecycle, full-stack or workstation acceptance.

The closed Mac memory qualification stays closed: retain official ai-memory
2.5.2 and Ollama 0.34.4; no candidate experiment, holdout or canary is queued.
SDK acceptance does not qualify CLI/ACP gateway adapters. Claude-native
authentication remains separate from the Codex/OpenAI SDK route. Whole-task
usage and net savings remain unknown.

This record complements the
[two-host North Star architecture](2026-10-02-two-host-north-star-architecture.md).
Mac deployment rollback artifacts remain with the designated Mac owner; source
rollback is a documentation revert and does not itself roll back deployment.
Loading
Loading