Skip to content

feat(config): project settings, /preflight command, catalogue, headless CI regimes - #131

Merged
cdeust merged 4 commits into
mainfrom
feat/project-settings-catalog
Jul 14, 2026
Merged

cdeust merged 4 commits into
mainfrom
feat/project-settings-catalog

Conversation

@cdeust

@cdeust cdeust commented Jul 14, 2026 •

Copy link
Copy Markdown
Owner

Fixes #119 (4 commits séparés).

  1. .claude/settings.json scope Projet : $schema, allow ciblés (pytest/ruff/uv/doctor/git status-log), deny anti-exfiltration — avec le trou de gitignore chirurgical (.claude/* + !.claude/settings.json) pour ne shipper QUE ce fichier.
  2. /preflight dans commands/ (surface plugin, convention du repo vérifiée) — la commande validée en assessment : façade doctor, $ARGUMENTS = symptôme, allowed-tools réduit, sortie verdict/réparations/vérification.
  3. Catalogue des commandes : extension de la section existante de docs/mcp-tools.md (une seule surface de catalogue — pas de doublon qui dériverait) + convention d'ajout. Vérifié contre le contenu réel de commands/ (le README citait un Skill comme commande — exclu à raison).
  4. Doc des deux régimes CI headless : --bare (reproductible, coupe MCP+hooks donc Cortex) vs conteneur+pins (avec mémoire) — cross-référence la règle de gate bench existante au lieu de la répéter.

Follow-up honnête flaggé : la vérification picker (/ dans une session sur le repo) exige une session interactive — étape 2 de l'artifact à faire au merge.

🤖 Generated with Claude Code

cdeust and others added 4 commits July 15, 2026 00:20
…iltration deny list

Pre-approves the routine dev commands (pytest, ruff, uv, doctor, git
status/log) and denies curl-to-anywhere plus reads of local environment
files and SSH keys. Un-ignore only settings.json in .gitignore (the rest
of .claude/ stays local-only) so this file is visible in code review and
arrives with every clone; deny entries at project scope cannot be
overridden from a user's local settings. No defaultMode or model
preference here — those are per-user choices, not project policy.

Refs #119

Co-Authored-By: Claude <[email protected]>
… guidance

Exposes mcp_server/doctor.py (7 checks, previously invisible — never
auto-invoked, never surfaced) as a discoverable slash command. Diagnoses
the Cortex install and turns doctor output into a dependency-ordered,
copy-paste repair plan; read-only (allowed-tools grants only the doctor
invocation + Read, no Write/Edit). Accepts an optional $ARGUMENTS symptom
to prioritize the relevant check first.

Refs #119

Co-Authored-By: Claude <[email protected]>
…mmand convention

Extends the existing "Slash Commands" section in docs/mcp-tools.md
(already scoped for this per its frontmatter) rather than adding a new
docs/commands-catalog.md — keeps one authoritative surface instead of two
that can drift. Table covers all three real commands under commands/
(/methodology, /why, /preflight) plus the convention: one new .md file +
one new table row, shipped in the same commit.

Refs #119

Co-Authored-By: Claude <[email protected]>
…e + Cortex

--bare (reproducible: no project/user settings, no hooks, no MCP servers
— Cortex absent) vs a containerized run with pinned CLI/plugin versions
(hooks + MCP load normally, Cortex memory available, but not byte-for-byte
reproducible run-to-run). States the rule explicitly: one job, one regime
— split a pipeline that needs both properties into two jobs rather than
expecting one job to have a clean verdict and persistent memory at once.

Fixes #119

Co-Authored-By: Claude <[email protected]>
@cdeust
cdeust merged commit 781e805 into main Jul 14, 2026
14 checks passed
pull Bot pushed a commit to asleekgeek/Cortex that referenced this pull request Jul 15, 2026
Cuts 13 commits ahead of v4.14.1: core→infrastructure layer-violation
cleanup via reverse-DI ports-and-adapters (cdeust#135), check_setup MCP tool +
/preflight command (#115, #119, cdeust#133), XDG-aware embedding cache_folder
(cdeust#132), project settings catalogue + headless CI regimes (cdeust#131), devcontainer
with prewarmed models (#129), optional OTLP telemetry (#128), stale docs/
module-count fixes (cdeust#130, #121), CLAUDE.md refactor (#125), Windows
postInstall dispatch fix (#117). No retrieval-path code touched.

Pre-tag guard on the exact release tree (git_sha 018c76d, isolated
ephemeral pgvector container via benchmarks/reproduce.sh --no-ablation):
LongMemEval MRR 0.9166/R@10 0.9820 (matches v4.14.1, no regression); LoCoMo
3-run mean MRR 0.8009/R@10 0.9146 (vs v4.14.1's 3-run mean 0.7984/0.9142,
an improvement within noise); BEAM MRR 0.5437/R@10 0.7139 (within v4.14.1's
established intra-day variance band). All 4 gated floors PASS (tolerance
0.005) — unlike v4.14.1 where LoCoMo MRR failed the absolute floor on its
3-run mean, 4.14.2's mean clears it by -0.0041. Evidence:
benchmarks/results/repro/20260715-v4.14.2-pretag/.

Co-Authored-By: Claude <[email protected]>
@cdeust
cdeust deleted the feat/project-settings-catalog branch July 17, 2026 13:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Settings projet .claude/settings.json + catalogue de slash commands documenté

1 participant