archcore-ai/archcore

GitHub ↗ · How this check works

Per-setup public labels: Linux / Haiku: Works · Linux / Luna: Works

Static status badge · SVG · read-only JSON. Embed with ![Coldpass status](https://coldpass.dev/badge/archcore-ai--archcore.svg).

mcp-server

Works

README claims checked out on 2 recorded setups.

Answers apply to each recorded setup, revision and operation. Earlier observations remain in Run details.

Tested on Linux
PlatformHaikuLuna
Linuxyesyes

Linux / Haiku 5.5: yes · Oct 25, 2026 · e15eceecec88 · claude-code / 2.1.310 (Claude Code)
Recorded operation: <guest-path> mcp --project <guest-path> · local stdio MCP start + initialize + tools/list

Linux / Luna: yes · Oct 25, 2026 · e15eceecec88 · codex / codex-cli 0.163.0
Recorded operation: <guest-path> init --project <guest-path> --yes

Does what it says
1 of 1 claims checked out
  • Archcore writes plain Markdown documents into .archcore/ and the MCP server returns them: Real input produced the expected result: Use Redis for the token bucket

    Source: Each command leaves plain Markdown in `.archcore/`, versioned with the code it describes.

    Input: {"tool": "get_document", "arguments": {"path": ".archcore/use-redis-token-bucket.adr.md"}}

    Expected: document title returned

    Command: <guest-path> mcp --project <guest-path> tools/call {"tool": "get_document", "arguments": {"path": ".archcore/use-redis-token-bucket.adr.md"}}

    Observed: Use Redis for the token bucket\",\"status\":\"draft\",\"mtime\":\"2026-10-25T23:05:04.800758815Z\",\"content\":\"---\\ntitle: \\\"Use Redis for the token bucket\\\"\\nstatus: draft\\n---\\n\\n## Context\\n\\nState the trigger in 2 to 4 sentences: the situation now, the constraint or\\nmeasurement that turns it into a problem, and what breaks if nothing changes.\\nCite the evidence — @path/to/file, a metric, a commit, an external authority —\\nor mark the claim [assumption] when the decision runs ahead of the code.\\n\\nProse only in this section. A bullet list drops the connective tissue betwe

MCP
Yes, observed
Local or hosted
local
Local: runs on your machine
Needs keys or browser
None seen
Maintained
Slow
slow: last commit 3 days ago; 2 commits and 3 merged PRs in 90 days; 13 open issues, 0 open PRs; 0 of 29 recent threads got a maintainer reply; latest release 2026-10-16

Last commit Oct 22, 2026

Setup time
1 min 26 s
1 min 26 s to a working result
Issue
none found in recorded check
Examples
1 of 1 ran as expected
  • Connect your project with archcore init: command completed successfully

    Source: README.md#install (step 2, archcore init)

    Input: archcore init --project <guest-path> --yes

    Expected: creates .archcore/ or keeps existing settings

    Command: <guest-path> init --project <guest-path> --yes

    Observed: ╔══════╗ ║ ║ Archcore v0.13.1 — Git-native context for AI coding agents ║ ╔═══╣ Spec-driven development & context engineering ║ ║ ╔═╣ https://archcore.ai ╚══╩═╩═╝ ✓ Created .archcore/ directory ✓ Existing .archcore/settings.json kept No AI agent selected (non-interactive). Run 'archcore mcp install --agent <id>' later. Ready! Run 'archcore status' to verify.

Evidence
README behavior checked
Agent interfaces
MCP
MCP

Observed interfaces were exercised by the checker. Documentation alone does not confirm compatibility.

MCP context
11 tools · about 7,389 tokens
11 tools · about 7,389 tokens

Largest returned tools/list page in these observations. Compact UTF-8 definition bytes ÷ 4, rounded up; approximate, excluding client framing and tool results. This is context size, not proof that every tool works.

Measured on linux with Haiku 5.5 · Oct 25, 2026 on e15eceecec88

Tested with
Claude Code / Haiku 5.5
  • Linux: Claude Code / Haiku 5.5 · agent 2.1.310 (Claude Code) · Checked operation passed · Oct 25, 2026 on e15eceecec88

Each entry describes its recorded operation and source revision.

Safety
No unexpected network or file activity found in these checks

No problems traced to this repository code in these checks; a short run cannot prove safety. 4 listed items (named-host connections, static matches, dependency advisories) are below and do not change this verdict.

Source contains download and execute; review its purpose. plugins/archcore/bin/session-start 2 findings.

Full event, path and process lists for each observed setup:

Run details

Haiku 5.5

Native agent · Checked operation passed

Checked operation <guest-path> mcp --project <guest-path> · local stdio MCP start + initialize + tools/list

Agent-reported scope: Install the Archcore CLI with the README installer, connect a project with archcore init, and read back a document through the archcore MCP stdio server (get_document).

MCP server returned: archcore · version 0.13.1.

MCP tools returned: add_relation, create_document, get_document, init_project, install_host_config, list_documents, list_relations, remove_document, remove_relation, search_documents, update_document. Tool listing does not establish authenticated tool-call success.

Run details
run
archcore-ai--archcore-claude-haiku-5-5-1792969446454259565
date
Oct 25, 2026
time to working
85.8s
product hosting / execution
Local stdio MCP server in the guest
recorded operation scope
product operation
model
claude-haiku-5-5
agent / version
claude-code / 2.1.310 (Claude Code)
platform
linux
reported cost
$0.017858
Recorded source
https://github.com/archcore-ai/archcore
Backend
hyperv
Tool transport
mcp-assigned-vm
Requested source pin (not an observed revision)
{"commit": "e15eceecec888fbf701c58fe39d3d11c5448b432", "url": "https://github.com/archcore-ai/archcore"}
Test version
readme-ca496ea10bb07418d1d8f1c256c2433a55547acc0fb62d8b6d86ae33c976fbfa
revision
e15eceecec888fbf701c58fe39d3d11c5448b432
Whose fault: not assigned · resolved

Safety: Review signals: 2 download and execute.

Review signals: 2 download and execute.

Source contains download and execute; review its purpose. plugins/archcore/bin/session-start 2 findings.

OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check.

A short run cannot establish that code is safe.

Connections show IP addresses; proxies can hide the final hostname.

Tracing covers dispatched commands and their children, not the whole OS; guest root can interfere with tracing.

Full safety evidence →

Answers recorded for this run
  • Archcore writes plain Markdown documents into .archcore/ and the MCP server returns them: Real input produced the expected result: Use Redis for the token bucket

    Source: Each command leaves plain Markdown in `.archcore/`, versioned with the code it describes.

    Input: {"tool": "get_document", "arguments": {"path": ".archcore/use-redis-token-bucket.adr.md"}}

    Expected: document title returned

    Command: <guest-path> mcp --project <guest-path> tools/call {"tool": "get_document", "arguments": {"path": ".archcore/use-redis-token-bucket.adr.md"}}

    Observed: Use Redis for the token bucket\",\"status\":\"draft\",\"mtime\":\"2026-10-25T23:05:04.800758815Z\",\"content\":\"---\\ntitle: \\\"Use Redis for the token bucket\\\"\\nstatus: draft\\n---\\n\\n## Context\\n\\nState the trigger in 2 to 4 sentences: the situation now, the constraint or\\nmeasurement that turns it into a problem, and what breaks if nothing changes.\\nCite the evidence — @path/to/file, a metric, a commit, an external authority —\\nor mark the claim [assumption] when the decision runs ahead of the code.\\n\\nProse only in this section. A bullet list drops the connective tissue betwe

Examples

  • Connect your project with archcore init: command completed successfully

    Source: README.md#install (step 2, archcore init)

    Input: archcore init --project <guest-path> --yes

    Expected: creates .archcore/ or keeps existing settings

    Command: <guest-path> init --project <guest-path> --yes

    Observed: ╔══════╗ ║ ║ Archcore v0.13.1 — Git-native context for AI coding agents ║ ╔═══╣ Spec-driven development & context engineering ║ ║ ╔═╣ https://archcore.ai ╚══╩═╩═╝ ✓ Created .archcore/ directory ✓ Existing .archcore/settings.json kept No AI agent selected (non-interactive). Run 'archcore mcp install --agent <id>' later. Ready! Run 'archcore status' to verify.

Local or hosted: local

What the agent did

Install the Archcore CLI with the README installer, connect a project with archcore init, and read back a document through the archcore MCP stdio server (get_document).

cd <guest-path> && pwd && ls -la && git -C . status 2>&1 | head -3; id -u; python3 --version; cat README.md 2>/dev/null | head -150
cd <guest-path> && sed -n 150,400p README.md; ls .coldpass docs plugins; ls /inputs 2>&1; ls <guest-path> 2>&1
cd <guest-path> && find . -path ./.git -prune -o -type f -print | head -100; cat .coldpass/* 2>/dev/null | head -5; which curl node npm go uv 2>&1
mkdir -p <guest-path> && cd <guest-path> && curl -fsSL https://archcore.ai/install.sh -o install.sh; echo rc=$?; wc -c install.sh; grep -niE 'telemetry|consent|opt|--|prefix|INSTALL_DIR' install.sh | head -60
cd <guest-path> && DO_NOT_TRACK=1 ARCHCORE_TELEMETRY_OPTOUT=1 NODE_USE_ENV_PROXY=1 bash install.sh 2>&1 | tail -40; echo rc=${PIPESTATUS[0]}; ls -la ~/.local/bin 2>&1
A=<guest-path>; $A --help 2>&1 | head -60; $A version 2>&1 | head -3
A=<guest-path>; $A init --help 2>&1 | head -40; echo ----; $A mcp --help 2>&1 | head -30; echo ----; $A config --help 2>&1 | head -30
mkdir -p <guest-path> && cd <guest-path> && git init -q 2>&1; A=<guest-path>; timeout 120 $A init </dev/null 2>&1 | tail -30; echo rc=$?; find <guest-path> -path '*/.git' -prune -o -print | head -40
mkdir -p <guest-path> && cat > <guest-path> <<'EOF'
import json, subprocess, sys
cmd = sys.argv[1:]
p = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, cwd="<guest-path>")
def send(m): p.stdin.write(json.dumps(m)+"\n"); p.stdin.flush()
def recv(): return json.loads(p.stdout.readline())
send({"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"h","version":"1"}}})
print(json.dumps(recv())[:400])
send({"jsonrpc":"2.0","method":"notifications/initialized"})
send({"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}})
r = recv()
for t in r["result"]["tools"]:
    print(t["name"], "|", json.dumps(t.get("inputSchema",{}).get("properties",{}))[:300])
p.stdin.close(); p.wait(timeout=10)
EOF
python3 -I <guest-path> <guest-path> mcp --project <guest-path> 2>&1 | head -60
cd <guest-path> && sed -i 's/print(t\["name"\], "|", json.dumps(t.get("inputSchema",{}).get("properties",{}))\[:300\])/print(t["name"], "|", json.dumps(t.get("inputSchema",{}), ensure_ascii=False)) if t["name"] in ("create_document","list_documents") else None/' mcp_list.py && python3 -I mcp_list.py <guest-path> mcp --project <guest-path> 2>&1 | tail -n +2 | head -20
cat > <guest-path> <<'EOF'
import json, subprocess, sys
name, args = sys.argv[1], json.loads(sys.argv[2])
cmd = sys.argv[3:]
p = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, cwd="<guest-path>")
def send(m): p.stdin.write(json.dumps(m)+"\n"); p.stdin.flush()
def recv(): return json.loads(p.stdout.readline())
send({"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"h","version":"1"}}})
recv()
send({"jsonrpc":"2.0","method":"notifications/initialized"})
send({"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":name,"arguments":args}})
print(json.dumps(recv(), ensure_ascii=False)[:1500])
p.stdin.close(); p.wait(timeout=10)
EOF
cd <guest-path> && python3 -I mcp_call.py create_document '{"type":"adr","filename":"use-redis-token-bucket","title":"Use Redis for the token bucket","status":"draft"}' <guest-path> mcp --project <guest-path>
cd <guest-path> && python3 -I mcp_call.py get_document '{"path":".archcore/use-redis-token-bucket.adr.md"}' <guest-path> mcp --project <guest-path>; cat <guest-path> | head -30; python3 -I mcp_call.py create_document '{"type":"adr","filename":"use-redis-token-bucket","title":"Use Redis for the token bucket"}' <guest-path> mcp --project <guest-path>
cd <guest-path> && <guest-path> status --project <guest-path> 2>&1 | head -30; echo rc=$?; ls <guest-path>; ls -la .coldpass
cd <guest-path> && <guest-path> init --project <guest-path> --yes </dev/null 2>&1 | tail -8; echo rc=${PIPESTATUS[0]}; ls <guest-path>
cd <guest-path> && cat > probe.json <<'EOF'
{"kind":"mcp","argv":["<guest-path>","mcp","--project","<guest-path>"],"cwd":"<guest-path>","tool":"get_document","arguments":{"path":".archcore/use-redis-token-bucket.adr.md"},"expected_text":"Use Redis for the token bucket"}
EOF
cat > claims.json <<'EOF'
[{"kind":"claim","claim":"Archcore writes plain Markdown documents into .archcore/ and the MCP server returns them","source":"Each command leaves plain Markdown in `.archcore/`, versioned with the code it describes.","input":"get_document on the ADR created by create_document","expected":"document title returned","probe_kind":"mcp","argv":["<guest-path>","mcp","--project","<guest-path>"],"tool":"get_document","arguments":{"path":".archcore/use-redis-token-bucket.adr.md"},"expected_text":"Use Redis for the token bucket","cwd":"<guest-path>"}]
EOF
cat > examples.json <<'EOF'
[{"kind":"example","claim":"Connect your project with archcore init","source":"README.md#install (step 2, archcore init)","input":"archcore init --project <guest-path> --yes","expected":"creates .archcore/ or keeps existing settings","argv":["<guest-path>","init","--project","<guest-path>","--yes"],"cwd":"<guest-path>","env":{},"stdin":"","expected_text":"Ready! Run 'archcore status' to verify."}]
EOF
cat > cycles.json <<'EOF'
{"detected":false,"reason":"Entry points inspected: README.md, archcore --help (init, mcp, status, hooks, update, doctor). Archcore is a CLI plus stdio MCP server; it has no built-in cron, scheduler, loop, --once/--now, or webhook trigger. Hooks are agent-driven (Claude Code/Codex/Copilot hook scripts in plugins/archcore/hooks and bin/), fired by the host agent per tool use, not by the product on a schedule. No product cycle to replay.","checks":[]}
EOF
python3 -I -c 'import json;[json.load(open(f)) for f in ["probe.json","claims.json","examples.json","cycles.json"]];print("ok")'
cd <guest-path> && <env-var>=<guest-path> python3 -I <guest-path> --validate --replay 2>&1 | tail -60; echo rc=${PIPESTATUS[0]}
cd <guest-path> && cat > report.json <<'EOF'
{"outcome":"working","fault_owner":null,"operation":"Install the Archcore CLI with the README installer, connect a project with archcore init, and read back a document through the archcore MCP stdio server (get_document).","operation_scope":"Linux amd64 guest, Ubuntu, Python 3.12.3 (checker only). Archcore CLI v0.13.1 from archcore.ai install.sh. Project state lives in <guest-path> (a separate git-initialized dir, not the source snapshot). No AI agent host (Claude Code/Codex/Copilot) was present, so plugin install and agent slash commands were not exercised.","steps":["curl -fsSL https://archcore.ai/install.sh | bash (run as: DO_NOT_TRACK=1 ARCHCORE_TELEMETRY_OPTOUT=1 NODE_USE_ENV_PROXY=1 bash install.sh, telemetry opted out)","archcore init (non-interactive, stdin null, no agent selected)","archcore init --yes (rerun, kept existing settings)","archcore mcp --project <guest-path> (stdio MCP server; create_document adr 'Use Redis for the token bucket' once during setup)","get_document path .archcore/use-redis-token-bucket.adr.md (probe and claim replay)"],"deviations":["README installer is curl|sh from archcore.ai; ran it after downloading to <guest-path> and reading it; telemetry disabled via DO_NOT_TRACK=1 and ARCHCORE_TELEMETRY_OPTOUT=1. Installed to <guest-path> (HOME-based default) rather than PATH; the probe uses the absolute path.","Did not run archcore init inside the source workspace; used --project <guest-path> to keep the snapshot unmodified.","The preflight path /inputs/coldpass-preflight.py does not exist; used <guest-path> as the instructions' first command specified.","Probe and claim depend on a document created once during setup (create_document with filename use-redis-token-bucket); hooks are driven by the host agent."],"stuck_step":null,"main_blocker":null,"plain_failure":null,"suggested_fix":null}
EOF
python3 -I -c 'import json;json.load(open("report.json"));print("ok")'; ls -la <guest-path> | head -20; ls <guest-path>
cd <guest-path> && <env-var>=<guest-path> python3 -I <guest-path> --validate --replay 2>&1 | head -c 400; echo; echo rc=${PIPESTATUS[0]}
Earlier attempts (1)

Luna

Native agent · Checked operation passed

Checked operation <guest-path> init --project <guest-path> --yes

Agent-reported scope: Initialize Archcore project context

Run details
run
archcore-ai--archcore-gpt-6-luna-1792969450906110296
date
Oct 25, 2026
time to working
32.7s
product hosting / execution
Local command in the guest
recorded operation scope
product operation
model
gpt-6-luna
agent / version
codex / codex-cli 0.163.0
platform
linux
reported cost
not reported (not assumed free)
Recorded source
https://github.com/archcore-ai/archcore
Backend
hyperv
Tool transport
mcp-assigned-vm
Requested source pin (not an observed revision)
{"commit": "e15eceecec888fbf701c58fe39d3d11c5448b432", "url": "https://github.com/archcore-ai/archcore"}
Test version
readme-a17389bda4cc696f9601c0c4ff1b2c16e23bfa1d907883b715ccdd9e92ddec56
revision
e15eceecec888fbf701c58fe39d3d11c5448b432
Whose fault: not assigned · resolved

Safety: Review signals: 2 download and execute.

Review signals: 2 download and execute.

Source contains download and execute; review its purpose. plugins/archcore/bin/session-start 2 findings.

OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check.

A short run cannot establish that code is safe.

Connections show IP addresses; proxies can hide the final hostname.

Tracing covers dispatched commands and their children, not the whole OS; guest root can interfere with tracing.

Full safety evidence →

Answers recorded for this run
  • Initialize Archcore project context: Real input produced the expected result: Created .archcore/ directory

    Source: `archcore init` connects the agents you choose to this project.

    Input: archcore init --project <guest-path> --yes

    Expected: Created .archcore/ directory

    Command: <guest-path> init --project <guest-path> --yes

    Observed: Created .archcore/ directory ✓ Existing .archcore/settings.json kept No AI agent selected (non-interactive). Run 'archcore mcp install --agent <id>' later. Ready! Run 'archcore status' to verify.

Examples

  • README install and initialize quick start: command completed successfully

    Source: README.md#Install

    Input: archcore init --project <guest-path> --yes

    Expected: .archcore initialized

    Command: <guest-path> init --project <guest-path> --yes

    Observed: ╔══════╗ ║ ║ Archcore v0.13.1 — Git-native context for AI coding agents ║ ╔═══╣ Spec-driven development & context engineering ║ ║ ╔═╣ https://archcore.ai ╚══╩═╩═╝ ✓ Created .archcore/ directory ✓ Existing .archcore/settings.json kept No AI agent selected (non-interactive). Run 'archcore mcp install --agent <id>' later. Ready! Run 'archcore status' to verify.

Local or hosted: local

What the agent did

Initialize Archcore project context

pwd; rg --files -g 'README*' -g 'pyproject.toml' -g 'package.json' -g 'Makefile' -g '*.yml' -g '*.yaml' | head -80; git status --short --branch; python3 --version
ls -la; find . -maxdepth 2 -type f | head -80
cat README.md; find . -maxdepth 4 -type f
id -u; curl -fsSL https://archcore.ai/install.sh | bash
sed -n '1,200p' plugins/archcore/commands/init.md; <guest-path> init --help
mkdir -p .coldpass; <guest-path> init --project <guest-path> --yes
cat > .coldpass/probe.json <<'EOF'
{"kind":"cli","argv":["<guest-path>","init","--project","<guest-path>","--yes"],"cwd":"<guest-path>","expected_text":"Created .archcore/ directory"}
EOF
cat > .coldpass/claims.json <<'EOF'
[{"kind":"claim","claim":"Initialize Archcore project context","source":"`archcore init` connects the agents you choose to this project.","input":"archcore init --project <guest-path> --yes","expected":"Created .archcore/ directory","probe_kind":"cli","argv":["<guest-path>","init","--project","<guest-path>","--yes"],"expected_text":"Created .archcore/ directory","cwd":"<guest-path>"}]
EOF
cat > .coldpass/examples.json <<'EOF'
[{"kind":"example","claim":"README install and initialize quick start","source":"README.md#Install","input":"archcore init --project <guest-path> --yes","expected":".archcore initialized","argv":["<guest-path>","init","--project","<guest-path>","--yes"],"cwd":"<guest-path>","expected_text":"Ready!"}]
EOF
cat > .coldpass/cycles.json <<'EOF'
{"detected":false,"reason":"README and plugin entry points describe agent invoked plan, document, and review commands; no scheduler or recurring product cycle is documented.","checks":[]}
EOF

<env-var>=<guest-path> python3 -I <guest-path> --validate --replay
cat > .coldpass/report.json <<'EOF'
{"outcome":"working","fault_owner":null,"operation":"Initialize Archcore project context","operation_scope":"Install CLI and initialize project directory; agent host/plugin interaction requires a supported agent installation.","steps":["Ran README installer: curl -fsSL https://archcore.ai/install.sh | bash","Ran archcore init --project <guest-path> --yes"],"deviations":["Installer found no Claude Code, Codex, or Copilot CLI, so it could not install host plugins."],"stuck_step":null,"main_blocker":null,"plain_failure":null,"suggested_fix":null}
EOF