SPB Git

spb/wp29_uqo

Public
8.5 KB

# Environment audit — WP29 (Phase 00)

Audit performed 2026-10-29 (evening, America/Toronto) by the WP29 executor (Claude Code session, model claude-fable-5-1, client 2.1.314, operated by Simon-Pierre Boucher). No credential values were printed or copied into this repository.

# 1. Project identity and collision check

Check Result
Series index ~/Desktop/Recherche-UQO/README.md + HARMONISATION.md; highest number in use is 28 (finance/distributed-mle-synchronization, repo wp28_uqo.git). A second project (finance/russell3000-strategic-project-database) carries the FIRC label 0001 and is not numbered in the series.
WP29 collision No directory, repository (gitsrv:srv/git/wp29_uqo.git absent — repositories end at wp28_uqo.git), index row or file named WP29 exists. No collision.
Chosen location ~/Desktop/Recherche-UQO/methodes/autonomous-research-claude-code/ — a new third category méthodes (the paper is neither real estate nor finance). To be added as row 29 in the series index at packaging time.
Author metadata Template _modele-working-paper/main.tex: author Simon-Pierre Boucher, Département des sciences administratives, Université du Québec en Outaouais, simon-pierre.boucher@uqo.ca, Pavillon Alexandre-Taché, 283 boul. Alexandre-Taché, Gatineau (Québec) J9A 1L8. Title page = sections/titlepage.tex with uq_logo.jpg, "Working Paper No.~N", date, version; abstract page with keywords and JEL.

# 2. Source artefacts

Artefact named in the mandate Status
Methode_recherche_autonome_CLAUDE.pdf Not present on this machine (Spotlight + find over ~/Desktop, ~/Downloads).
Kit_recherche_autonome_CLAUDE.zip Not present.
CLAUDE_WP_UQO_2026-10-29.zip Not present.
Primary mandates via https://git.spboucher.ai/raw/... Retrieved 2026-10-29 ≈ 03:00 UTC: 11 distinct CLAUDE.md (WP15, WP18–WP26, WP28) + WP15 PROMPT_INITIAL_CLAUDE.md (byte-identical to WP15 CLAUDE.md, SHA-256 2dd19c59…) + WP27 docs/DESIGN-BRIEF.md. WP27 CLAUDE.md → HTTP 404. Hashes in research/corpus_manifest.csv, files in research/corpus/.

The three packaged artefacts were therefore reconstructed from the live endpoints, exactly as the mandate instructs when they are not mounted. No claim is made about their packaged contents.

# 3. Claude Code client (laptop = builder/controller/evaluator host)

Item Observed value
Host MacBook (Apple silicon, arm64), macOS 27.0 (build 26A5425a); Node v25.9.0, npm 11.12.1
claude --version 2.1.314 (Claude Code) — installed via npm global @anthropic-ai/claude-code@2.1.314
claude auth status loggedIn: true, authMethod: api_key, apiProvider: firstParty, org "AgentiLab". Keychain item Claude Code-credentials present. No ANTHROPIC_API_KEY in the interactive environment.
User-level instructions ~/.claude/CLAUDE.md exists (large cluster-operations file). ~/.claude/settings.json: model fable[1m], one PreToolUse hook (auto-approve), 3 LSP plugins, fastMode: true. ~/.claude.json configures 9 MCP servers (apify, tavily, worldbank, openalex, anthropic, polymarket, etherscan, notion, hfmarketdata). 121 project directories under ~/.claude/projects (auto-memory).
Official docs memory, headless, cli-reference, hooks, permissions fetched 2026-10-29 (markdown, docs/claude-code-docs/, retrieval timestamp in retrieved_utc.txt).

# 3.1 Verified flags relevant to the design (from claude --help 2.1.314 and cli-reference.md)

-p/--print, --output-format text|json|stream-json, --include-partial-messages, --verbose, --bare, --system-prompt[-file], --append-system-prompt[-file], --tools <list> (restrict built-in tool set), --allowedTools, --disallowedTools, --permission-mode, --permission-prompts host|none, --max-budget-usd (print mode; client-side estimate; subagent spend counts; spend can slightly exceed the cap), --max-turns, --resume <session-id|path>, --session-id <uuid>, --fork-session, --no-session-persistence, --model, --effort, --setting-sources, --settings, --strict-mcp-config, --add-dir, --restricted. No temperature or random-seed flag exists (none will be simulated). --json-schema exists for structured final output.

# 3.2 Behaviours verified by live probes (2026-10-29)

Probe Observation
claude --bare -p "Reply with exactly OK" --model claude-opus-5-5 --output-format json --tools "" --max-budget-usd 0.10 with ANTHROPIC_API_KEY exported Success in 1.55 s; result: "OK", total_cost_usd: 0.0004, modelUsage reports canonicalModel: claude-opus-5-5, costBasis: list, context window 1,000,000, 80 input / 4 output tokens, session_id returned.
Sentinel test, normal -p mode in a temp dir with a project CLAUDE.md containing SENTINEL-7731 (model claude-haiku-5-5, tools disabled) Model reported SENTINEL-7731 and cluster node aliases from ~/.claude/CLAUDE.md; first-turn input ≈ 49,077 tokens. Confirms that non-bare print mode loads user-level and project instructions (and the hook/MCP configuration) — unsuitable for controlled arms.
Sentinel test, --bare -p, same directory Model reported NONE for both; first-turn input 144 tokens. Confirms --bare skips CLAUDE.md auto-discovery, auto-memory, hooks, plugins and MCP.
--bare -p --append-system-prompt-file append.txt (sentinel APPEND-4420) Model reported APPEND-4420; input 171 tokens. Confirms that explicit instruction injection works in bare mode and is the mechanism used to deliver treatment protocols.
Bare mode authentication --bare ignores OAuth/keychain and requires ANTHROPIC_API_KEY (verified in help text and docs). The study uses the researcher's existing first-party API key (sourced at launch time from an existing project .env, never written to this repository or to run logs).

# 4. Executor hosts (cluster nodes) and isolation boundary

Node Hardware Claude Code Python env
M3U96a Mac Studio M3 Ultra, 28 cores reported by nproc, 96 GB, macOS 26.6 upgraded 2.1.204 → 2.1.314 ~/wp29/venv (Python 3.14.5): numpy 2.3.4, pandas 2.3.3, scipy 1.16.2, statsmodels 0.14.5, matplotlib 3.10.7
M3U96b Mac Studio M3 Ultra, 28 cores, 96 GB 2.1.314 same pinned venv
M4M64a Mac Studio M4 Max, 16 cores, 64 GB 2.1.314 same pinned venv
M4M64b Mac Studio M4 Max, 16 cores, 64 GB 2.1.314 same pinned venv

Boundary facts: (i) the nodes hold no copy of this repository, of the oracles, or of the series; (ii) from M3U96a, TCP port 22 of the laptop (192.168.2.184) is not reachable (nc -z → no), so an executor process on a node cannot reach the evaluator host by SSH; (iii) each node has a ~/.claude/CLAUDE.md (cluster file) which --bare does not load (verified on the laptop; to be re-verified per node with the sentinel probe in the isolation tests, Phase 03); (iv) claude --bare -p on M3U96a with the key passed in the SSH command environment returned OK (cost 0.00096 USD, model claude-haiku-5-5), establishing that live inference from the nodes works.

# 5. Capture capabilities

Tool Status
/usr/sbin/screencapture Available (native window/screen capture; -l <windowid> for a specific window, -x silent).
Safari Available (for dashboard captures via AppleScript/screencapture).
Chromium Wrapper present but application missing (/Applications/Chromium.app absent) — not usable.
script (BSD) Available for terminal session recording (transcript replay mode only).
tmux / asciinema Not installed.

# 6. Gap list (Phase 00)

  1. Packaged source artefacts absent → replaced by live retrieval with hashes (done).
  2. No human second coder, no external human reviewers available → corpus coding single-coder; human-review cells will be labelled unavailable.
  3. Chromium absent → evidence-viewer screenshots will use Safari or native screencapture.
  4. Budget: no explicit monetary budget was stated in the mandate. A provisional live-inference envelope is set by the executor and recorded in protocol/amendments.csv (see Phase 02); the pilot measures real costs before the confirmatory design is frozen.
  5. Model stochasticity cannot be seeded (no seed flag) → repeats are genuine fresh sessions.
  6. --max-budget-usd is a client-side estimate that can be slightly exceeded → the harness records both the cap and the observed total_cost_usd.
Files · 90bf126799e046545d1bf5210fce451071dce757
Menu

Theme