From 8dc4a360db78612cca4662f9f505646e611e49d5 Mon Sep 17 00:00:00 2001 From: Michael Heller <21163552+mdheller@users.noreply.github.com> Date: Wed, 11 Feb 2026 19:52:52 -0500 Subject: [PATCH] chore: remove agentos-spine from agentplane main --- agentos-spine/agentos-spine/.gitignore | 29 -- agentos-spine/agentos-spine/LICENSE | 21 - agentos-spine/agentos-spine/Makefile | 12 - agentos-spine/agentos-spine/README.md | 45 -- .../docs/REPLACEMENT_STRATEGY.md | 21 - agentos-spine/agentos-spine/docs/ROLL_OUT.md | 28 -- .../docs/STANDARDS_GUARDRAILS.md | 30 -- .../agentos-spine/interfaces/browser_ops.md | 17 - .../agentos-spine/interfaces/desktop_ops.md | 14 - .../agentos-spine/interfaces/executor.md | 26 -- .../interfaces/knowledge_base_api.md | 16 - .../agentos-spine/interfaces/mail_ops_api.md | 16 - .../interfaces/meaning_graph_api.md | 16 - .../agentos-spine/interfaces/memory_api.md | 16 - .../agentos-spine/interfaces/orchestrator.md | 16 - .../agentos-spine/manifest/workspace.toml | 51 -- .../agentos-spine/registry/tools.csv | 39 -- .../agentos-spine/registry/tools.yaml | 439 ------------------ .../agentos-spine/scripts/ingest_archives.py | 93 ---- .../agentos-spine/scripts/validate_spine.py | 90 ---- 20 files changed, 1035 deletions(-) delete mode 100644 agentos-spine/agentos-spine/.gitignore delete mode 100644 agentos-spine/agentos-spine/LICENSE delete mode 100644 agentos-spine/agentos-spine/Makefile delete mode 100644 agentos-spine/agentos-spine/README.md delete mode 100644 agentos-spine/agentos-spine/docs/REPLACEMENT_STRATEGY.md delete mode 100644 agentos-spine/agentos-spine/docs/ROLL_OUT.md delete mode 100644 agentos-spine/agentos-spine/docs/STANDARDS_GUARDRAILS.md delete mode 100644 agentos-spine/agentos-spine/interfaces/browser_ops.md delete mode 100644 agentos-spine/agentos-spine/interfaces/desktop_ops.md delete mode 100644 agentos-spine/agentos-spine/interfaces/executor.md delete mode 100644 agentos-spine/agentos-spine/interfaces/knowledge_base_api.md delete mode 100644 agentos-spine/agentos-spine/interfaces/mail_ops_api.md delete mode 100644 agentos-spine/agentos-spine/interfaces/meaning_graph_api.md delete mode 100644 agentos-spine/agentos-spine/interfaces/memory_api.md delete mode 100644 agentos-spine/agentos-spine/interfaces/orchestrator.md delete mode 100644 agentos-spine/agentos-spine/manifest/workspace.toml delete mode 100644 agentos-spine/agentos-spine/registry/tools.csv delete mode 100644 agentos-spine/agentos-spine/registry/tools.yaml delete mode 100755 agentos-spine/agentos-spine/scripts/ingest_archives.py delete mode 100755 agentos-spine/agentos-spine/scripts/validate_spine.py diff --git a/agentos-spine/agentos-spine/.gitignore b/agentos-spine/agentos-spine/.gitignore deleted file mode 100644 index 02ecd7e..0000000 --- a/agentos-spine/agentos-spine/.gitignore +++ /dev/null @@ -1,29 +0,0 @@ -# Local archives / extracted repos (do not commit) -_archives/ -spine/ -components/ - -# OS/editor noise -.DS_Store -Thumbs.db -__MACOSX/ - -# Python noise -.venv/ -venv/ -env/ -__pycache__/ -*.pyc -*.pyo - -# Node -node_modules/ - -# Rust/Go build artifacts -target/ -dist/ -build/ - -# IDE -.idea/ -.vscode/ diff --git a/agentos-spine/agentos-spine/LICENSE b/agentos-spine/agentos-spine/LICENSE deleted file mode 100644 index ac4108c..0000000 --- a/agentos-spine/agentos-spine/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2026 SocioProphet - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/agentos-spine/agentos-spine/Makefile b/agentos-spine/agentos-spine/Makefile deleted file mode 100644 index cc3ca9e..0000000 --- a/agentos-spine/agentos-spine/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -.PHONY: help ingest validate - -help: - @echo "Targets:" - @echo " make ingest - extract _archives/Archive.zip into spine/" - @echo " make validate - run hygiene + license validation over spine/" - -ingest: - python3 scripts/ingest_archives.py --archive _archives/Archive.zip - -validate: - python3 scripts/validate_spine.py diff --git a/agentos-spine/agentos-spine/README.md b/agentos-spine/agentos-spine/README.md deleted file mode 100644 index 5355cd6..0000000 --- a/agentos-spine/agentos-spine/README.md +++ /dev/null @@ -1,45 +0,0 @@ -# AgentOS Spine - -This repository is the **integration spine** for the SocioProphet / SourceOS ecosystem. - -It is intentionally **contract-first**: - -- **Standards and artifacts are authoritative** (git + AIWG artifacts) -- Tools integrate **only via stable interfaces** (adapters + contract tests) -- Higher-risk components (copyleft / source-available / proprietary / unclear license) are **boxed** behind - service boundaries and can be replaced without rewriting the world. - -## Quick start (local) - -1) Put your downloaded archives in `_archives/`: - -- `_archives/Archive.zip` (the spine bundle: SourceOS, TriTRPC, standards, etc.) -- optionally other repo zips you want to inspect - -2) Extract + normalize the spine workspace: - -```bash -python3 scripts/ingest_archives.py --archive _archives/Archive.zip -``` - -This creates `spine/` with normalized folder names (and strips `.git`, `.DS_Store`, `.venv`, `__pycache__`, `*.pyc`). - -3) Validate hygiene + license posture: - -```bash -python3 scripts/validate_spine.py -``` - -## Repo contents - -- `registry/` — canonical tool/repo registry (license + lane + replacement posture) -- `interfaces/` — stable contracts (Executor, Orchestrator, BrowserOps, MemoryAPI, MeaningGraphAPI, etc.) -- `docs/` — rollout plan, guardrails, replacement strategy -- `scripts/` — ingestion + validation utilities (safe defaults) - -## Non-goals - -This repo is **not** a monorepo of all components. It is a control plane for: -- what we integrate, -- how we integrate it, -- and how we keep it swappable. diff --git a/agentos-spine/agentos-spine/docs/REPLACEMENT_STRATEGY.md b/agentos-spine/agentos-spine/docs/REPLACEMENT_STRATEGY.md deleted file mode 100644 index 4aa5ad1..0000000 --- a/agentos-spine/agentos-spine/docs/REPLACEMENT_STRATEGY.md +++ /dev/null @@ -1,21 +0,0 @@ -# Replacement strategy (provider + contract tests) - -We adopt components quickly **without getting trapped** by: - -1) Defining a stable interface (e.g., MeaningGraphAPI, KnowledgeBaseAPI) -2) Writing contract tests against the interface -3) Adopting an initial provider (AD4M, Fortemi, Inbox Zero, etc.) behind an adapter -4) Building a permissive replacement that passes the same contract tests - -## Priorities - -Replace-first: -- Fortemi (BUSL) - -Use-now, replace-if-needed: -- AD4M (boxed behind MeaningGraphAPI) -- Inbox Zero (GPL/AGPL lane; boxed behind MailOpsAPI) - -Security-boxed: -- Desktop automation (Agent-S) -- Anything with marketplace/skills ingestion (must be allowlisted) diff --git a/agentos-spine/agentos-spine/docs/ROLL_OUT.md b/agentos-spine/agentos-spine/docs/ROLL_OUT.md deleted file mode 100644 index 6d29c50..0000000 --- a/agentos-spine/agentos-spine/docs/ROLL_OUT.md +++ /dev/null @@ -1,28 +0,0 @@ -# Rollout plan (first 90 days) - -## Phase 0: Hygiene + license truth (blocking) - -- Ensure every spine repo has an explicit LICENSE file -- Remove accidental junk from snapshots: .DS_Store, .venv, __pycache__, *.pyc, nested .git -- Add CI gates so junk cannot re-enter - -## Phase 1: Conformance gates - -- TriTRPC fixtures + determinism tests are executable and green -- Standards repos validate schema IDs and enforce formatting - -## Phase 2: Workspace materialization - -- Use sociosphere runner (or equivalent) to materialize pinned repos -- One command runs: fetch -> validate -> verify fixtures - -## Phase 3: OS integration substrate (local) - -- Base packages, sandbox runner, secrets broker -- Install core tools (executors, orchestrator) behind agentctl - -## Phase 4: Providers boxed + replacement projects - -- AD4M behind MeaningGraphAPI + contract tests -- Fortemi behind KnowledgeBaseAPI + start KB-Core replacement -- Inbox Zero behind MailOpsAPI + start MailOps-Core replacement (optional) diff --git a/agentos-spine/agentos-spine/docs/STANDARDS_GUARDRAILS.md b/agentos-spine/agentos-spine/docs/STANDARDS_GUARDRAILS.md deleted file mode 100644 index 24caa44..0000000 --- a/agentos-spine/agentos-spine/docs/STANDARDS_GUARDRAILS.md +++ /dev/null @@ -1,30 +0,0 @@ -# Standards and architecture guardrails - -These guardrails exist to prevent accidental architectural drift while integrating many repos/tools. - -## 1) SourceOS independence - -SourceOS must operate without socios. -Socios is **opt-in** and gated (Proof-of-Life + signed intent). - -## 2) Protocol directionality - -If we use sociosphere as workspace/orchestrator and TritRPC as protocol: -- sociosphere -> tritrpc is allowed -- tritrpc -> sociosphere is forbidden - -This prevents circular dependencies between the orchestrator and the protocol spec. - -## 3) Canonical truth - -- Canonical standards live in the SocioProphet standards repos (+ TriTRPC spec/fixtures). -- Canonical project truth is git + AIWG artifacts. -- Memory providers (Mem0/Fortemi/etc.) are caches/services and must be exportable. - -## 4) Boxing rule - -Anything not permissively licensed (MIT/Apache/BSD/CC0) is boxed behind: -- an adapter interface, and -- a runtime boundary (separate process/container/VM). - -This keeps replacements cheap. diff --git a/agentos-spine/agentos-spine/interfaces/browser_ops.md b/agentos-spine/agentos-spine/interfaces/browser_ops.md deleted file mode 100644 index 7efc264..0000000 --- a/agentos-spine/agentos-spine/interfaces/browser_ops.md +++ /dev/null @@ -1,17 +0,0 @@ -# BrowserOpsAPI (v0.1) - -Goal: auditable browser automation with deterministic trace capture. - -## Required operations - -- `open(url)` -- `click(selector|text)` -- `type(selector, text)` -- `extract(selector|pattern) -> data` -- `screenshot() -> image` -- `trace_export() -> TraceRef` - -## Providers - -- Stagehand (primary) -- browser-use (alternate) diff --git a/agentos-spine/agentos-spine/interfaces/desktop_ops.md b/agentos-spine/agentos-spine/interfaces/desktop_ops.md deleted file mode 100644 index d30a321..0000000 --- a/agentos-spine/agentos-spine/interfaces/desktop_ops.md +++ /dev/null @@ -1,14 +0,0 @@ -# DesktopOpsAPI (v0.1) - -Goal: OS/GUI automation when browser-only is insufficient. - -## Safety requirements (hard) - -- runs in a sandbox (VM / container + display proxy) -- no ambient secrets -- explicit allowlist of filesystem mounts -- explicit network egress rules - -## Provider - -- Agent-S diff --git a/agentos-spine/agentos-spine/interfaces/executor.md b/agentos-spine/agentos-spine/interfaces/executor.md deleted file mode 100644 index 26ee40f..0000000 --- a/agentos-spine/agentos-spine/interfaces/executor.md +++ /dev/null @@ -1,26 +0,0 @@ -# ExecutorAPI (v0.1) - -Goal: a stable contract for tools that **apply changes** and **run commands** in a working tree. - -## Required operations - -- `plan(task, context) -> Plan` -- `apply(plan) -> ApplyResult` -- `run(command, cwd, env) -> RunResult` -- `diff() -> Diff` -- `snapshot() -> SnapshotRef` (optional; for evidence) - -## Evidence requirements - -Every Executor must emit: -- applied diff (unified diff or patch ID) -- stdout/stderr + exit code -- tool/version identifiers -- inputs (task ID, repo ref) and outputs (artifacts) - -## Providers (examples) - -- OpenCode -- Goose -- Aider -- Continue diff --git a/agentos-spine/agentos-spine/interfaces/knowledge_base_api.md b/agentos-spine/agentos-spine/interfaces/knowledge_base_api.md deleted file mode 100644 index acb4838..0000000 --- a/agentos-spine/agentos-spine/interfaces/knowledge_base_api.md +++ /dev/null @@ -1,16 +0,0 @@ -# KnowledgeBaseAPI (v0.1) - -Goal: durable project knowledge base (documents + semantic search), swappable. - -## Required operations - -- `ingest(doc, metadata) -> doc_id` -- `search(query, filters) -> hits` -- `get(doc_id) -> doc` -- `export_snapshot() -> snapshot_ref` -- `import_snapshot(snapshot_ref)` - -## Providers - -- Fortemi (evaluation / boxed) -- KB-Core (planned permissive replacement: pgvector/qdrant/etc.) diff --git a/agentos-spine/agentos-spine/interfaces/mail_ops_api.md b/agentos-spine/agentos-spine/interfaces/mail_ops_api.md deleted file mode 100644 index 5621549..0000000 --- a/agentos-spine/agentos-spine/interfaces/mail_ops_api.md +++ /dev/null @@ -1,16 +0,0 @@ -# MailOpsAPI (v0.1) - -Goal: email triage and automation behind a swappable contract. - -## Required operations - -- `sync()` -- `triage_queue() -> threads` -- `classify(thread_id) -> labels` -- `draft(thread_id, intent) -> draft` -- `apply(thread_id, actions)` - -## Providers - -- Inbox Zero (boxed service) -- MailOps-Core (planned permissive replacement) diff --git a/agentos-spine/agentos-spine/interfaces/meaning_graph_api.md b/agentos-spine/agentos-spine/interfaces/meaning_graph_api.md deleted file mode 100644 index 6e20942..0000000 --- a/agentos-spine/agentos-spine/interfaces/meaning_graph_api.md +++ /dev/null @@ -1,16 +0,0 @@ -# MeaningGraphAPI (v0.1) - -Goal: represent agent/claim graphs (identity + assertions + relations) with portability. - -## Required operations - -- `put_claim(agent_id, claim, provenance) -> claim_id` -- `link(src_claim_id, rel, dst_claim_id, provenance) -> link_id` -- `query(query_spec) -> results` -- `export_snapshot() -> snapshot_ref` -- `import_snapshot(snapshot_ref)` - -## Providers - -- AD4M (current provider) -- MG-Core (planned permissive replacement) diff --git a/agentos-spine/agentos-spine/interfaces/memory_api.md b/agentos-spine/agentos-spine/interfaces/memory_api.md deleted file mode 100644 index 17b09c5..0000000 --- a/agentos-spine/agentos-spine/interfaces/memory_api.md +++ /dev/null @@ -1,16 +0,0 @@ -# MemoryAPI (v0.1) - -Goal: cross-session memory store for agents. - -## Required operations - -- `put(item: MemoryItem) -> id` -- `get(id) -> MemoryItem` -- `search(query, filters) -> MemoryItem[]` -- `export() -> ArchiveRef` -- `import(ArchiveRef)` - -## Providers - -- Mem0 (primary) -- (optional) local sqlite/jsonl for offline mode diff --git a/agentos-spine/agentos-spine/interfaces/orchestrator.md b/agentos-spine/agentos-spine/interfaces/orchestrator.md deleted file mode 100644 index 084e0c6..0000000 --- a/agentos-spine/agentos-spine/interfaces/orchestrator.md +++ /dev/null @@ -1,16 +0,0 @@ -# OrchestratorAPI (v0.1) - -Goal: coordinate multiple roles/agents over one or more repos, while collecting evidence and enforcing gates. - -## Required operations - -- `spawn(role, config) -> AgentHandle` -- `assign(agent, task) -> TaskHandle` -- `collect(task) -> EvidenceBundle` -- `synthesize(evidence[]) -> Decision` -- `gate(decision, policy) -> GateResult` - -## Providers (examples) - -- Gastown -- (optional) AIWG ensemble patterns diff --git a/agentos-spine/agentos-spine/manifest/workspace.toml b/agentos-spine/agentos-spine/manifest/workspace.toml deleted file mode 100644 index 79cb79a..0000000 --- a/agentos-spine/agentos-spine/manifest/workspace.toml +++ /dev/null @@ -1,51 +0,0 @@ -[workspace] -name = "agentos-spine" -version = "0.1" - -# This manifest mirrors sociosphere's format so we can reuse their runner tooling. -# All entries below assume local materialization under `spine/`. - -[[repos]] -name = "sourceos" -role = "os" -local_path = "spine/sourceos" - -[[repos]] -name = "sociosphere" -role = "workspace_orchestrator" -local_path = "spine/sociosphere" - -[[repos]] -name = "tritrpc" -role = "protocol" -local_path = "spine/tritrpc" - -[[repos]] -name = "standards_storage" -role = "standards" -local_path = "spine/standards-storage" - -[[repos]] -name = "standards_knowledge" -role = "standards" -local_path = "spine/standards-knowledge" - -[[repos]] -name = "agentplane" -role = "execution_plane" -local_path = "spine/agentplane" - -[[repos]] -name = "tritfabric" -role = "runtime" -local_path = "spine/tritfabric" - -[[repos]] -name = "socios" -role = "opt_in_automation" -local_path = "spine/socios" - -[[repos]] -name = "global_devsecops_intelligence" -role = "spec_bundle" -local_path = "spine/global-devsecops-intelligence" diff --git a/agentos-spine/agentos-spine/registry/tools.csv b/agentos-spine/agentos-spine/registry/tools.csv deleted file mode 100644 index 3ad20f6..0000000 --- a/agentos-spine/agentos-spine/registry/tools.csv +++ /dev/null @@ -1,39 +0,0 @@ -id,name,kind,layer,lane,license,source,interfaces,replacement,notes -sourceos,SourceOS,repo,L0-os-sandbox,spine-core,MIT,Archive.zip:SourceOS-main,(none),none,OS substrate; must operate without socios. -sociosphere,sociosphere,repo,L3-orchestration,spine-core,NO_LICENSE_IN_ARCHIVE,Archive.zip:sociosphere-main,OrchestratorAPI,none,Workspace/orchestrator. Add LICENSE before distribution. -tritrpc,TriTRPC,repo,L3-protocol,spine-core,MIT,Archive.zip:TriTRPC-main,(protocol),none,Deterministic RPC protocol + fixtures. -standards-storage,socioprophet-standards-storage,repo,L0-standards,spine-core,MIT,Archive.zip:socioprophet-standards-storage,(standards),none,Canonical platform standards. -standards-knowledge,socioprophet-standards-knowledge,repo,L0-standards,spine-core,MIT,Archive.zip:socioprophet-standards-knowledge,(standards),none,Canonical knowledge context standards. -agentplane,agentplane,repo,L2-execution,spine-core,MIT,Archive.zip:agentplane,ExecutorAPI,none,Execution/control plane; evidence bundles; sandbox-friendly. -tritfabric,tritfabric,repo,L2-runtime,spine-core,MIT,Archive.zip:tritfabric_repo_fresh,(runtime),none,Opt-in runtime service; default-deny; local-first mode. -socios,socios,repo,L3-community-automation,boxed,GPL-3.0,Archive.zip:socios-main,(automation),optional,Opt-in community automation. OFF by default. Keep separate service; avoid linking into base OS distribution. -global-devsecops-intelligence,global-devsecops-intelligence,repo,L0-specs,blocked,NO_LICENSE_IN_ARCHIVE,Archive.zip:global-devsecops-intelligence,(specs),none,Spec bundle. Add LICENSE before using beyond internal reference. -aiwg,AIWG,repo,L3-process-spine,core,MIT,aiwg-main.zip,Process Spine,none,"Workflow spine: artifacts, stage gates, ensemble patterns." -vercel-ai-sdk,Vercel AI SDK (ai),repo,L6-app-framework,support,Apache-2.0,ai-main.zip,(app sdk),none,App-layer agent SDK (TypeScript). -browser-use,browser-use,repo,L4-browser-ops,support,MIT,browser-use-main.zip,BrowserOpsAPI,none,Alternate BrowserOps driver. -agent-s,Agent-S,repo,L4-desktop-ops,restricted,Apache-2.0,Agent-S-main.zip,DesktopOpsAPI,none,Desktop/GUI automation. Sandbox+opt-in only. -inbox-zero,Inbox Zero,repo,L7-vertical,boxed,GPL-3.0,inbox-zero-main.zip,MailOpsAPI,planned,Email automation app. Keep as separate service; do not link into OS base. -fortemi,Fortemi,repo,L5-knowledge,quarantine,BUSL-1.1,fortemi-main.zip,KnowledgeBaseAPI,replace-first,Source-available; evaluation only. Build permissive KB-Core replacement early. -skill-seekers,Skill Seekers,repo,L5-ingestion,support,MIT,Skill_Seekers-development.zip,Extractor,none,RAG preprocessing / ingestion helpers. -seomachine,seomachine,repo,L7-vertical,support,MIT,seomachine-main.zip,(rig),none,SEO rig (Claude Code workspace). -agent-inbox,agent-inbox,repo,L7-vertical,support,MIT,agent-inbox-main.zip,(rig),none,Inbox rig / patterns. -anus,ANUS,repo,L7-vertical,support,Apache-2.0,ANUS-main.zip,(example),none,Agentic CLI example; useful as sandbox. -argos,argos,repo,L0-patterns,support,CC0-1.0,argos-main.zip,(patterns),none,Authz patterns reference. -bmad-builder,bmad-builder,repo,L3-process-playbooks,support,MIT,bmad-builder-main.zip,(playbooks),none,Process/playbook builder. -ace-framework,ACE Framework,repo,L3-process-playbooks,support,MIT,ACE_Framework-main.zip,(playbooks),none,Principles/process pack. -full-small-app-workflow,Full Small App Workflow,repo,L3-process-playbooks,support,MIT,Full-Small-App-Workflow-main.zip,(playbooks),none,Workflow template. -rappy-lobster,rappy-lobster,repo,L7-vertical,blocked,AMBIGUOUS (MIT-like LICENSE text; package.json=UNLICENSED),rappy-lobster-main.zip,(unknown),none,Do not ship/use until license contradiction resolved. -gastown,Gastown,external,L3-orchestration,core,MIT,external,OrchestratorAPI,none,Multi-agent workspace orchestrator. -opencode,OpenCode,external,L2-executor,core,MIT,external,ExecutorAPI,none,Terminal executor. -goose,Goose,external,L2-executor,core,Apache-2.0,external,ExecutorAPI,none,Alternate executor. -aider,Aider,external,L2-executor,support,Apache-2.0,external,ExecutorAPI,none,Patch-centric executor. -continue,Continue,external,L2-executor,support,Apache-2.0,external,ExecutorAPI,none,IDE executor/review. -stagehand,Stagehand,external,L4-browser-ops,core,MIT,external,BrowserOpsAPI,none,Primary browser automation driver. -tabby,TabbyML Tabby,external,L1-devx,support,Apache-2.0 (ee/ separate),external,(assist),none,Self-hosted coding assistant. Keep EE boundary strict. -mem0,Mem0,external,L5-memory,core,Apache-2.0,external,MemoryAPI,none,Primary memory service. -ad4m,AD4M,external,L5-meaning-graph,boxed,CAL-1.0 (upstream),external,MeaningGraphAPI,planned,Use behind MeaningGraphAPI; build MG-Core replacement for portability. -ontogpt,OntoGPT,external,L5-extraction,support,BSD-3-Clause,external,Extractor,none,Ontology-grounded extraction. -vlmrun,VLM Run,external,L5-extraction,support,Apache-2.0,external,Extractor,none,Schema hub + runners. -subconscious,Subconscious Systems,external,L8-experimental,boxed,VERIFY_PER_REPO,external,(optional),none,Optional external engine. Keep API-only until licensing clarified. -zed,Zed,external,L1-devx,boxed,GPL/AGPL (verify),external,(tool),none,Developer editor. Do not embed into OS distro without compliance plan. -warp,Warp,external,L1-devx,boxed,Proprietary,external,(tool),none,Optional terminal UX only. diff --git a/agentos-spine/agentos-spine/registry/tools.yaml b/agentos-spine/agentos-spine/registry/tools.yaml deleted file mode 100644 index 73c2131..0000000 --- a/agentos-spine/agentos-spine/registry/tools.yaml +++ /dev/null @@ -1,439 +0,0 @@ -version: '0.1' -generated_at: '2026-02-11T20:24:59.554912+00:00' -policy: - preferred_licenses: - - MIT - - Apache-2.0 - permissive_allowed: - - BSD-3-Clause - - CC0-1.0 - boxed_required: - - GPL-3.0 - - AGPL-3.0 - - CAL-1.0 - - BUSL-1.1 - - Proprietary - - VERIFY_PER_REPO - - NO_LICENSE_IN_ARCHIVE - - AMBIGUOUS - block_if_missing_license: true -tools: -- id: sourceos - name: SourceOS - kind: repo - layer: L0-os-sandbox - lane: spine-core - license: MIT - source: Archive.zip:SourceOS-main - interfaces: - - (none) - replacement: none - notes: OS substrate; must operate without socios. -- id: sociosphere - name: sociosphere - kind: repo - layer: L3-orchestration - lane: spine-core - license: NO_LICENSE_IN_ARCHIVE - source: Archive.zip:sociosphere-main - interfaces: - - OrchestratorAPI - replacement: none - notes: Workspace/orchestrator. Add LICENSE before distribution. -- id: tritrpc - name: TriTRPC - kind: repo - layer: L3-protocol - lane: spine-core - license: MIT - source: Archive.zip:TriTRPC-main - interfaces: - - (protocol) - replacement: none - notes: Deterministic RPC protocol + fixtures. -- id: standards-storage - name: socioprophet-standards-storage - kind: repo - layer: L0-standards - lane: spine-core - license: MIT - source: Archive.zip:socioprophet-standards-storage - interfaces: - - (standards) - replacement: none - notes: Canonical platform standards. -- id: standards-knowledge - name: socioprophet-standards-knowledge - kind: repo - layer: L0-standards - lane: spine-core - license: MIT - source: Archive.zip:socioprophet-standards-knowledge - interfaces: - - (standards) - replacement: none - notes: Canonical knowledge context standards. -- id: agentplane - name: agentplane - kind: repo - layer: L2-execution - lane: spine-core - license: MIT - source: Archive.zip:agentplane - interfaces: - - ExecutorAPI - replacement: none - notes: Execution/control plane; evidence bundles; sandbox-friendly. -- id: tritfabric - name: tritfabric - kind: repo - layer: L2-runtime - lane: spine-core - license: MIT - source: Archive.zip:tritfabric_repo_fresh - interfaces: - - (runtime) - replacement: none - notes: Opt-in runtime service; default-deny; local-first mode. -- id: socios - name: socios - kind: repo - layer: L3-community-automation - lane: boxed - license: GPL-3.0 - source: Archive.zip:socios-main - interfaces: - - (automation) - replacement: optional - notes: Opt-in community automation. OFF by default. Keep separate service; avoid - linking into base OS distribution. -- id: global-devsecops-intelligence - name: global-devsecops-intelligence - kind: repo - layer: L0-specs - lane: blocked - license: NO_LICENSE_IN_ARCHIVE - source: Archive.zip:global-devsecops-intelligence - interfaces: - - (specs) - replacement: none - notes: Spec bundle. Add LICENSE before using beyond internal reference. -- id: aiwg - name: AIWG - kind: repo - layer: L3-process-spine - lane: core - license: MIT - source: aiwg-main.zip - interfaces: - - Process Spine - replacement: none - notes: 'Workflow spine: artifacts, stage gates, ensemble patterns.' -- id: vercel-ai-sdk - name: Vercel AI SDK (ai) - kind: repo - layer: L6-app-framework - lane: support - license: Apache-2.0 - source: ai-main.zip - interfaces: - - (app sdk) - replacement: none - notes: App-layer agent SDK (TypeScript). -- id: browser-use - name: browser-use - kind: repo - layer: L4-browser-ops - lane: support - license: MIT - source: browser-use-main.zip - interfaces: - - BrowserOpsAPI - replacement: none - notes: Alternate BrowserOps driver. -- id: agent-s - name: Agent-S - kind: repo - layer: L4-desktop-ops - lane: restricted - license: Apache-2.0 - source: Agent-S-main.zip - interfaces: - - DesktopOpsAPI - replacement: none - notes: Desktop/GUI automation. Sandbox+opt-in only. -- id: inbox-zero - name: Inbox Zero - kind: repo - layer: L7-vertical - lane: boxed - license: GPL-3.0 - source: inbox-zero-main.zip - interfaces: - - MailOpsAPI - replacement: planned - notes: Email automation app. Keep as separate service; do not link into OS base. -- id: fortemi - name: Fortemi - kind: repo - layer: L5-knowledge - lane: quarantine - license: BUSL-1.1 - source: fortemi-main.zip - interfaces: - - KnowledgeBaseAPI - replacement: replace-first - notes: Source-available; evaluation only. Build permissive KB-Core replacement early. -- id: skill-seekers - name: Skill Seekers - kind: repo - layer: L5-ingestion - lane: support - license: MIT - source: Skill_Seekers-development.zip - interfaces: - - Extractor - replacement: none - notes: RAG preprocessing / ingestion helpers. -- id: seomachine - name: seomachine - kind: repo - layer: L7-vertical - lane: support - license: MIT - source: seomachine-main.zip - interfaces: - - (rig) - replacement: none - notes: SEO rig (Claude Code workspace). -- id: agent-inbox - name: agent-inbox - kind: repo - layer: L7-vertical - lane: support - license: MIT - source: agent-inbox-main.zip - interfaces: - - (rig) - replacement: none - notes: Inbox rig / patterns. -- id: anus - name: ANUS - kind: repo - layer: L7-vertical - lane: support - license: Apache-2.0 - source: ANUS-main.zip - interfaces: - - (example) - replacement: none - notes: Agentic CLI example; useful as sandbox. -- id: argos - name: argos - kind: repo - layer: L0-patterns - lane: support - license: CC0-1.0 - source: argos-main.zip - interfaces: - - (patterns) - replacement: none - notes: Authz patterns reference. -- id: bmad-builder - name: bmad-builder - kind: repo - layer: L3-process-playbooks - lane: support - license: MIT - source: bmad-builder-main.zip - interfaces: - - (playbooks) - replacement: none - notes: Process/playbook builder. -- id: ace-framework - name: ACE Framework - kind: repo - layer: L3-process-playbooks - lane: support - license: MIT - source: ACE_Framework-main.zip - interfaces: - - (playbooks) - replacement: none - notes: Principles/process pack. -- id: full-small-app-workflow - name: Full Small App Workflow - kind: repo - layer: L3-process-playbooks - lane: support - license: MIT - source: Full-Small-App-Workflow-main.zip - interfaces: - - (playbooks) - replacement: none - notes: Workflow template. -- id: rappy-lobster - name: rappy-lobster - kind: repo - layer: L7-vertical - lane: blocked - license: AMBIGUOUS (MIT-like LICENSE text; package.json=UNLICENSED) - source: rappy-lobster-main.zip - interfaces: - - (unknown) - replacement: none - notes: Do not ship/use until license contradiction resolved. -- id: gastown - name: Gastown - kind: external - layer: L3-orchestration - lane: core - license: MIT - source: external - interfaces: - - OrchestratorAPI - replacement: none - notes: Multi-agent workspace orchestrator. -- id: opencode - name: OpenCode - kind: external - layer: L2-executor - lane: core - license: MIT - source: external - interfaces: - - ExecutorAPI - replacement: none - notes: Terminal executor. -- id: goose - name: Goose - kind: external - layer: L2-executor - lane: core - license: Apache-2.0 - source: external - interfaces: - - ExecutorAPI - replacement: none - notes: Alternate executor. -- id: aider - name: Aider - kind: external - layer: L2-executor - lane: support - license: Apache-2.0 - source: external - interfaces: - - ExecutorAPI - replacement: none - notes: Patch-centric executor. -- id: continue - name: Continue - kind: external - layer: L2-executor - lane: support - license: Apache-2.0 - source: external - interfaces: - - ExecutorAPI - replacement: none - notes: IDE executor/review. -- id: stagehand - name: Stagehand - kind: external - layer: L4-browser-ops - lane: core - license: MIT - source: external - interfaces: - - BrowserOpsAPI - replacement: none - notes: Primary browser automation driver. -- id: tabby - name: TabbyML Tabby - kind: external - layer: L1-devx - lane: support - license: Apache-2.0 (ee/ separate) - source: external - interfaces: - - (assist) - replacement: none - notes: Self-hosted coding assistant. Keep EE boundary strict. -- id: mem0 - name: Mem0 - kind: external - layer: L5-memory - lane: core - license: Apache-2.0 - source: external - interfaces: - - MemoryAPI - replacement: none - notes: Primary memory service. -- id: ad4m - name: AD4M - kind: external - layer: L5-meaning-graph - lane: boxed - license: CAL-1.0 (upstream) - source: external - interfaces: - - MeaningGraphAPI - replacement: planned - notes: Use behind MeaningGraphAPI; build MG-Core replacement for portability. -- id: ontogpt - name: OntoGPT - kind: external - layer: L5-extraction - lane: support - license: BSD-3-Clause - source: external - interfaces: - - Extractor - replacement: none - notes: Ontology-grounded extraction. -- id: vlmrun - name: VLM Run - kind: external - layer: L5-extraction - lane: support - license: Apache-2.0 - source: external - interfaces: - - Extractor - replacement: none - notes: Schema hub + runners. -- id: subconscious - name: Subconscious Systems - kind: external - layer: L8-experimental - lane: boxed - license: VERIFY_PER_REPO - source: external - interfaces: - - (optional) - replacement: none - notes: Optional external engine. Keep API-only until licensing clarified. -- id: zed - name: Zed - kind: external - layer: L1-devx - lane: boxed - license: GPL/AGPL (verify) - source: external - interfaces: - - (tool) - replacement: none - notes: Developer editor. Do not embed into OS distro without compliance plan. -- id: warp - name: Warp - kind: external - layer: L1-devx - lane: boxed - license: Proprietary - source: external - interfaces: - - (tool) - replacement: none - notes: Optional terminal UX only. diff --git a/agentos-spine/agentos-spine/scripts/ingest_archives.py b/agentos-spine/agentos-spine/scripts/ingest_archives.py deleted file mode 100755 index dc3b95a..0000000 --- a/agentos-spine/agentos-spine/scripts/ingest_archives.py +++ /dev/null @@ -1,93 +0,0 @@ -#!/usr/bin/env python3 -"""Extract a spine archive into `spine/` with safe defaults. - -- Normalizes folder names (strip suffixes like -main) -- Removes __MACOSX, .DS_Store -- Strips nested .git directories from zip snapshots -- Optionally scrubs venv/__pycache__/*.pyc - -Usage: - python3 scripts/ingest_archives.py --archive _archives/Archive.zip -""" - -import argparse -import os -import shutil -import zipfile -from pathlib import Path - -NORMALIZE = { - "SourceOS-main": "sourceos", - "TriTRPC-main": "tritrpc", - "socios-main": "socios", - "sociosphere-main": "sociosphere", - "agentplane": "agentplane", - "tritfabric_repo_fresh": "tritfabric", - "socioprophet-standards-storage": "standards-storage", - "socioprophet-standards-knowledge": "standards-knowledge", - "global-devsecops-intelligence": "global-devsecops-intelligence", -} - -SCRUB_DIRS = {".venv", "venv", "env", "__pycache__", ".git"} - -def rm_tree(path: Path): - if path.is_symlink() or path.is_file(): - path.unlink(missing_ok=True) - elif path.is_dir(): - shutil.rmtree(path, ignore_errors=True) - -def scrub(root: Path): - # Remove OS junk files - for p in root.rglob(".DS_Store"): - p.unlink(missing_ok=True) - - # Remove scrub dirs and pyc files - for p in list(root.rglob("*")): - if p.is_dir() and p.name in SCRUB_DIRS: - rm_tree(p) - elif p.is_file() and p.suffix == ".pyc": - p.unlink(missing_ok=True) - -def main(): - ap = argparse.ArgumentParser() - ap.add_argument("--archive", required=True, help="Path to Archive.zip") - ap.add_argument("--out", default="spine", help="Output dir (default: spine)") - ap.add_argument("--no-scrub", action="store_true", help="Do not scrub .git/.venv/__pycache__/pyc/.DS_Store") - args = ap.parse_args() - - archive = Path(args.archive) - out = Path(args.out) - out.mkdir(parents=True, exist_ok=True) - - tmp = out / "_tmp_extract" - rm_tree(tmp) - tmp.mkdir(parents=True, exist_ok=True) - - with zipfile.ZipFile(archive) as z: - z.extractall(tmp) - - # Remove __MACOSX - rm_tree(tmp / "__MACOSX") - - # Move normalized dirs - for src_name, dest_name in NORMALIZE.items(): - src = tmp / src_name - dest = out / dest_name - if not src.exists(): - continue - rm_tree(dest) - shutil.move(str(src), str(dest)) - - rm_tree(tmp) - - if not args.no_scrub: - scrub(out) - - print(f"Extracted spine into: {out.resolve()}") - print("Contents:") - for p in sorted(out.iterdir()): - if p.is_dir() and not p.name.startswith('_'): - print(f" - {p.name}") - -if __name__ == "__main__": - main() diff --git a/agentos-spine/agentos-spine/scripts/validate_spine.py b/agentos-spine/agentos-spine/scripts/validate_spine.py deleted file mode 100755 index 167e73f..0000000 --- a/agentos-spine/agentos-spine/scripts/validate_spine.py +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/env python3 -"""Validate hygiene + license posture for extracted spine repos in `spine/`. - -Fail-fast conditions (default): -- missing LICENSE/COPYING in any spine repo -- presence of .DS_Store, nested .git, venv dirs, __pycache__, *.pyc - -Usage: - python3 scripts/validate_spine.py -""" - -import argparse -from pathlib import Path -import sys - -BAD_FILES = {".DS_Store"} -BAD_DIRS = {".git", ".venv", "venv", "env", "__pycache__"} -BAD_SUFFIXES = {".pyc"} - -LICENSE_NAMES = ("LICENSE", "LICENSE.txt", "LICENSE.md", "COPYING", "COPYING.txt") - -def has_license(repo: Path) -> bool: - for name in LICENSE_NAMES: - if (repo / name).exists(): - return True - # also allow LICENSE.* patterns at root - for p in repo.glob("LICENSE*"): - if p.is_file(): - return True - return False - -def scan(repo: Path): - issues = [] - for p in repo.rglob("*"): - if p.is_file(): - if p.name in BAD_FILES: - issues.append(f"bad file: {p}") - if p.suffix in BAD_SUFFIXES: - issues.append(f"bad file: {p}") - if p.is_dir() and p.name in BAD_DIRS: - issues.append(f"bad dir: {p}") - return issues - -def main(): - ap = argparse.ArgumentParser() - ap.add_argument("--spine", default="spine", help="Spine directory (default: spine)") - ap.add_argument("--allow-missing-license", action="store_true", help="Do not fail on missing license") - args = ap.parse_args() - - spine = Path(args.spine) - if not spine.exists(): - print(f"ERROR: spine directory not found: {spine}") - sys.exit(2) - - repos = [p for p in spine.iterdir() if p.is_dir() and not p.name.startswith('_')] - repos.sort(key=lambda p: p.name.lower()) - - failed = False - print("=== Spine validation ===") - for repo in repos: - repo_failed = False - lic_ok = has_license(repo) - issues = scan(repo) - - if not lic_ok and not args.allow_missing_license: - repo_failed = True - print(f"[FAIL] {repo.name}: missing LICENSE/COPYING") - else: - print(f"[ OK ] {repo.name}: license={'yes' if lic_ok else 'missing (allowed)'}") - - if issues: - repo_failed = True - print(f" hygiene issues ({len(issues)}):") - for line in issues[:25]: - print(f" - {line}") - if len(issues) > 25: - print(f" ... {len(issues)-25} more") - - if repo_failed: - failed = True - - if failed: - print("\nValidation failed. Fix hygiene/license issues before integrating into the OS base.") - sys.exit(1) - - print("\nValidation passed.") - sys.exit(0) - -if __name__ == "__main__": - main()