@neikyun/ciel 6.13.1 → 6.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/.claude/hooks/check-dispatch-gate.sh +122 -0
- package/assets/.claude/hooks/session-start.sh +28 -0
- package/assets/.claude/hooks/track-pipeline.sh +149 -0
- package/assets/.claude/hooks/user-prompt-submit.sh +47 -3
- package/assets/.claude/settings.json +18 -0
- package/assets/CLAUDE.md +8 -5
- package/assets/commands/ciel-compile.md +17 -0
- package/assets/platforms/opencode/.opencode/agents/ciel.md +13 -10
- package/assets/skills/meta/savoir-compiler/SKILL.md +184 -0
- package/assets/skills/meta/skill-creator/SKILL.md +2 -2
- package/assets/skills/workflow/memoire/SKILL.md +2 -0
- package/dist/cli/check.d.ts.map +1 -1
- package/dist/cli/check.js +2 -0
- package/dist/cli/check.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Ciel — PreToolUse hook for Read|Bash
|
|
3
|
+
# Trigger: PreToolUse on Read|Bash
|
|
4
|
+
# Purpose: BLOCK inline source-code research until ciel-researcher is dispatched.
|
|
5
|
+
# Forces the model to dispatch researcher + explorer in parallel before
|
|
6
|
+
# reading source files or running research commands (grep, cat, curl, rg, etc.).
|
|
7
|
+
# Always allows: config files, project docs, CI files, state files.
|
|
8
|
+
# Escape hatch: [CIEL_GATE_BYPASS] anywhere in the tool input bypasses the gate.
|
|
9
|
+
# Dispatch tracker: /tmp/ciel_dispatched.* (created by SubagentStart hooks)
|
|
10
|
+
|
|
11
|
+
INPUT=$(cat 2>/dev/null || echo "{}")
|
|
12
|
+
|
|
13
|
+
# ── Depth check ──
|
|
14
|
+
PROJECT_DIR="${CLAUDE_PROJECT_DIR:-}"
|
|
15
|
+
TASK_DEPTH="Standard"
|
|
16
|
+
if [ -n "$PROJECT_DIR" ] && [ -f "$PROJECT_DIR/.ciel/last-depth" ]; then
|
|
17
|
+
TASK_DEPTH=$(cat "$PROJECT_DIR/.ciel/last-depth" 2>/dev/null || echo "Standard")
|
|
18
|
+
fi
|
|
19
|
+
|
|
20
|
+
# Trivial + Spike tasks always pass — no dispatch required
|
|
21
|
+
[ "$TASK_DEPTH" = "Trivial" ] && exit 0
|
|
22
|
+
[ "$TASK_DEPTH" = "Spike" ] && exit 0
|
|
23
|
+
|
|
24
|
+
# ── Bypass check ──
|
|
25
|
+
if echo "$INPUT" | grep -q '\[CIEL_GATE_BYPASS\]'; then
|
|
26
|
+
echo "[CIEL] Dispatch gate bypassed via [CIEL_GATE_BYPASS]" >&2
|
|
27
|
+
exit 0
|
|
28
|
+
fi
|
|
29
|
+
|
|
30
|
+
# ── Dispatch check ──
|
|
31
|
+
# If any Ciel agent has been dispatched this session, allow inline research.
|
|
32
|
+
# /tmp/ciel_dispatched.* files are created by SubagentStart hooks for
|
|
33
|
+
# ciel-researcher, ciel-explorer, and ciel-critic.
|
|
34
|
+
if ls /tmp/ciel_dispatched.* >/dev/null 2>&1; then
|
|
35
|
+
exit 0
|
|
36
|
+
fi
|
|
37
|
+
|
|
38
|
+
# ── Extract target ──
|
|
39
|
+
TOOL_NAME=$(echo "$INPUT" | python3 -c "
|
|
40
|
+
import sys, json
|
|
41
|
+
try:
|
|
42
|
+
d = json.load(sys.stdin)
|
|
43
|
+
print(d.get('tool_name', ''))
|
|
44
|
+
except:
|
|
45
|
+
print('')
|
|
46
|
+
" 2>/dev/null || echo "")
|
|
47
|
+
|
|
48
|
+
FILE_PATH=$(echo "$INPUT" | python3 -c "
|
|
49
|
+
import sys, json
|
|
50
|
+
try:
|
|
51
|
+
d = json.load(sys.stdin)
|
|
52
|
+
ti = d.get('tool_input', {})
|
|
53
|
+
print(ti.get('file_path', ti.get('path', '')))
|
|
54
|
+
except:
|
|
55
|
+
print('')
|
|
56
|
+
" 2>/dev/null || echo "")
|
|
57
|
+
|
|
58
|
+
BASH_CMD=$(echo "$INPUT" | python3 -c "
|
|
59
|
+
import sys, json
|
|
60
|
+
try:
|
|
61
|
+
d = json.load(sys.stdin)
|
|
62
|
+
ti = d.get('tool_input', {})
|
|
63
|
+
print(ti.get('command', ''))
|
|
64
|
+
except:
|
|
65
|
+
print('')
|
|
66
|
+
" 2>/dev/null || echo "")
|
|
67
|
+
|
|
68
|
+
# ── Read gate ──
|
|
69
|
+
# Always-allow list: config files the model MUST be able to read for DOCS step.
|
|
70
|
+
# These are needed BEFORE any dispatch — CLAUDE.md, AGENTS.md, .ciel/*, .claude/*,
|
|
71
|
+
# SKILL.md, package.json, README, Makefile, VERSION, docker-compose, CI configs.
|
|
72
|
+
if [ "$TOOL_NAME" = "Read" ] && [ -n "$FILE_PATH" ]; then
|
|
73
|
+
if echo "$FILE_PATH" | grep -qE '(^|/)\.(ciel|claude|github|opencode)(/|$|\.)'; then
|
|
74
|
+
exit 0
|
|
75
|
+
fi
|
|
76
|
+
if echo "$FILE_PATH" | grep -qE '(^|/)(CLAUDE\.md|AGENTS\.md|ciel-overlay\.md|package\.json|README|Makefile|VERSION|Dockerfile|docker-compose|\.gitignore|tsconfig.*\.json|\.env\.example)$'; then
|
|
77
|
+
exit 0
|
|
78
|
+
fi
|
|
79
|
+
if echo "$FILE_PATH" | grep -qE '(^|/)SKILL\.md$'; then
|
|
80
|
+
exit 0
|
|
81
|
+
fi
|
|
82
|
+
if echo "$FILE_PATH" | grep -qE '\.(yml|yaml|toml|cfg|ini|conf|json|md|txt|css|html|xml|svg)$'; then
|
|
83
|
+
# Config/docs files — allow (but NOT source code like .ts in JSON disguise)
|
|
84
|
+
# The depth classification + pipeline docs phase needs broad config access
|
|
85
|
+
exit 0
|
|
86
|
+
fi
|
|
87
|
+
|
|
88
|
+
# Source code file — BLOCK until researcher dispatched
|
|
89
|
+
echo "[CIEL DISPATCH GATE] BLOCKED: Read $(basename "$FILE_PATH") before researcher dispatch" >&2
|
|
90
|
+
echo "" >&2
|
|
91
|
+
echo " Depth: $TASK_DEPTH — no Ciel agent dispatched yet." >&2
|
|
92
|
+
echo " Ciel pipeline requires dispatching ciel-researcher + ciel-explorer" >&2
|
|
93
|
+
echo " in parallel BEFORE reading source code. This ensures official docs," >&2
|
|
94
|
+
echo " anti-patterns, and codebase patterns are checked first." >&2
|
|
95
|
+
echo "" >&2
|
|
96
|
+
echo " To proceed without dispatch: add [CIEL_GATE_BYPASS] to the tool input." >&2
|
|
97
|
+
echo " But prefer dispatching — it prevents the blind-pattern-copy anti-pattern." >&2
|
|
98
|
+
exit 2
|
|
99
|
+
fi
|
|
100
|
+
|
|
101
|
+
# ── Bash gate ──
|
|
102
|
+
# Allow infrastructure commands (ls, find, git status, mkdir, cd, npm, node -v, etc.)
|
|
103
|
+
# Block research commands that read/search source files without dispatch.
|
|
104
|
+
if [ "$TOOL_NAME" = "Bash" ] && [ -n "$BASH_CMD" ]; then
|
|
105
|
+
# Always-allow patterns: infrastructure, package management, git meta
|
|
106
|
+
if echo "$BASH_CMD" | grep -qE '^(ls |find |git (status|diff|log|branch|remote|config|stash|add |commit|push|pull|fetch|checkout|switch|restore)|mkdir |cd |npm |npx |node -[vp]|pnpm |yarn |cargo |pip |poetry |python3 -c|which |type |command -v|echo |cat .*(\.json|\.md|\.yml|\.yaml|\.toml|\.lock|VERSION|Makefile|README|\.gitignore)|gh (pr|issue|release|run|repo|workflow))'; then
|
|
107
|
+
exit 0
|
|
108
|
+
fi
|
|
109
|
+
|
|
110
|
+
# Research commands that scan/read source code — BLOCK
|
|
111
|
+
if echo "$BASH_CMD" | grep -qE '(grep |rg |ag |cat .*\.(kt|ts|tsx|js|jsx|py|go|rs|rb|java|php|scala|swift|cs|cpp|c|h|vue|svelte)|tail |head |curl |wget )'; then
|
|
112
|
+
echo "[CIEL DISPATCH GATE] BLOCKED: Research Bash before researcher dispatch" >&2
|
|
113
|
+
echo "" >&2
|
|
114
|
+
echo " Depth: $TASK_DEPTH — no Ciel agent dispatched yet." >&2
|
|
115
|
+
echo " Command: $(echo "$BASH_CMD" | cut -c1-80)" >&2
|
|
116
|
+
echo " Dispatch ciel-researcher + ciel-explorer first." >&2
|
|
117
|
+
echo " Or add [CIEL_GATE_BYPASS] if this is infrastructure." >&2
|
|
118
|
+
exit 2
|
|
119
|
+
fi
|
|
120
|
+
fi
|
|
121
|
+
|
|
122
|
+
exit 0
|
|
@@ -18,6 +18,31 @@ for candidate in "$CWD/ciel-overlay.md" "$CWD/.claude/ciel-overlay.md"; do
|
|
|
18
18
|
fi
|
|
19
19
|
done
|
|
20
20
|
|
|
21
|
+
# ─── META-pending check ──────────────────────────────────────────────────
|
|
22
|
+
# If previous session ended without META reflection after 3+ edits,
|
|
23
|
+
# inject a prominent warning BEFORE resetting the tracker.
|
|
24
|
+
META_PENDING=""
|
|
25
|
+
if [ -n "${CLAUDE_PROJECT_DIR:-}" ] && [ -f "$CLAUDE_PROJECT_DIR/.ciel/meta-pending" ]; then
|
|
26
|
+
META_INFO=$(python3 -c "
|
|
27
|
+
import json
|
|
28
|
+
try:
|
|
29
|
+
with open('$CLAUDE_PROJECT_DIR/.ciel/meta-pending') as f:
|
|
30
|
+
d = json.load(f)
|
|
31
|
+
print(f\"{d.get('edits', '?')} files edited, pending since {d.get('since', '?')}\")
|
|
32
|
+
except: print('unknown')
|
|
33
|
+
" 2>/dev/null || echo "unknown")
|
|
34
|
+
META_PENDING="
|
|
35
|
+
|
|
36
|
+
═══════════════════════════════════════════════════════════════
|
|
37
|
+
[CIEL] META STILL DUE — Previous task ended without META reflection.
|
|
38
|
+
$META_INFO
|
|
39
|
+
Invoke Skill(meta-critiquer) to complete the 10-item reflection.
|
|
40
|
+
Clear .ciel/meta-pending when done.
|
|
41
|
+
DO NOT start a new task until META is complete.
|
|
42
|
+
═══════════════════════════════════════════════════════════════
|
|
43
|
+
"
|
|
44
|
+
fi
|
|
45
|
+
|
|
21
46
|
# Reset session-scoped edit tracker so META/RELIRE gates don't bleed across sessions
|
|
22
47
|
if [ -n "${CLAUDE_PROJECT_DIR:-}" ] && [ -f "$CLAUDE_PROJECT_DIR/.ciel/tracked-files.json" ]; then
|
|
23
48
|
echo "[]" > "$CLAUDE_PROJECT_DIR/.ciel/tracked-files.json" 2>/dev/null || true
|
|
@@ -59,6 +84,9 @@ _resolve_ciel_version() {
|
|
|
59
84
|
}
|
|
60
85
|
CIEL_VERSION="$(_resolve_ciel_version)"
|
|
61
86
|
MSG="CIEL v${CIEL_VERSION} — Skills-first deep-reasoning active. "
|
|
87
|
+
if [[ -n "$META_PENDING" ]]; then
|
|
88
|
+
MSG+="$META_PENDING"
|
|
89
|
+
fi
|
|
62
90
|
if [[ -n "$OVERLAY" ]]; then
|
|
63
91
|
MSG+="Overlay loaded: $OVERLAY. "
|
|
64
92
|
else
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Ciel — Pipeline state tracker (PostToolUse hook)
|
|
3
|
+
# Trigger: after Skill() or Agent() tool use
|
|
4
|
+
# Purpose: record pipeline step completion in .ciel/pipeline-state.json
|
|
5
|
+
# Never blocks (exit 0 always)
|
|
6
|
+
|
|
7
|
+
INPUT=$(cat 2>/dev/null || echo "{}")
|
|
8
|
+
TOOL_NAME=$(echo "$INPUT" | python3 -c "
|
|
9
|
+
import sys, json
|
|
10
|
+
try:
|
|
11
|
+
d = json.load(sys.stdin)
|
|
12
|
+
print(d.get('tool_name', ''))
|
|
13
|
+
except:
|
|
14
|
+
print('')
|
|
15
|
+
" 2>/dev/null || echo "")
|
|
16
|
+
|
|
17
|
+
PROJECT_DIR="${CLAUDE_PROJECT_DIR:-}"
|
|
18
|
+
[ -z "$PROJECT_DIR" ] && exit 0
|
|
19
|
+
[ -z "$TOOL_NAME" ] && exit 0
|
|
20
|
+
|
|
21
|
+
STATE_FILE="$PROJECT_DIR/.ciel/pipeline-state.json"
|
|
22
|
+
mkdir -p "$PROJECT_DIR/.ciel" 2>/dev/null || true
|
|
23
|
+
|
|
24
|
+
STEP=""
|
|
25
|
+
NOW=$(date -u +%Y-%m-%dT%H:%M:%SZ)
|
|
26
|
+
|
|
27
|
+
if [ "$TOOL_NAME" = "Skill" ]; then
|
|
28
|
+
SKILL_NAME=$(echo "$INPUT" | python3 -c "
|
|
29
|
+
import sys, json
|
|
30
|
+
try:
|
|
31
|
+
d = json.load(sys.stdin)
|
|
32
|
+
print(d.get('tool_input', {}).get('skill', ''))
|
|
33
|
+
except:
|
|
34
|
+
print('')
|
|
35
|
+
" 2>/dev/null || echo "")
|
|
36
|
+
|
|
37
|
+
case "$SKILL_NAME" in
|
|
38
|
+
depth-classifier) STEP="DOCS" ;;
|
|
39
|
+
quoi-framer) STEP="QUOI" ;;
|
|
40
|
+
ask-window) STEP="ASK" ;;
|
|
41
|
+
avec-quoi-versioner) STEP="AVEC QUOI" ;;
|
|
42
|
+
diverge) STEP="DIVERGE" ;;
|
|
43
|
+
stride-analyzer) STEP="SECURITE" ;;
|
|
44
|
+
evaluer-sizer) STEP="EVALUER" ;;
|
|
45
|
+
faire-gatekeeper) STEP="FAIRE" ;;
|
|
46
|
+
adr-auto) STEP="ADR" ;;
|
|
47
|
+
relire-critic) STEP="RELIRE" ;;
|
|
48
|
+
prouver-verifier) STEP="PROUVER" ;;
|
|
49
|
+
memoire) STEP="MEMOIRE" ;;
|
|
50
|
+
savoir-compiler) STEP="COMPILER" ;;
|
|
51
|
+
meta-critiquer) STEP="META" ;;
|
|
52
|
+
esac
|
|
53
|
+
elif [ "$TOOL_NAME" = "Agent" ]; then
|
|
54
|
+
SUBAGENT=$(echo "$INPUT" | python3 -c "
|
|
55
|
+
import sys, json
|
|
56
|
+
try:
|
|
57
|
+
d = json.load(sys.stdin)
|
|
58
|
+
print(d.get('tool_input', {}).get('subagent_type', ''))
|
|
59
|
+
except:
|
|
60
|
+
print('')
|
|
61
|
+
" 2>/dev/null || echo "")
|
|
62
|
+
|
|
63
|
+
case "$SUBAGENT" in
|
|
64
|
+
ciel-researcher) STEP="RECHERCHE" ;;
|
|
65
|
+
ciel-explorer) STEP="CODEBASE" ;;
|
|
66
|
+
esac
|
|
67
|
+
fi
|
|
68
|
+
|
|
69
|
+
[ -z "$STEP" ] && exit 0
|
|
70
|
+
|
|
71
|
+
# Write pipeline state via python heredoc — avoids -c quoting fragility
|
|
72
|
+
export STATE_FILE STEP NOW
|
|
73
|
+
python3 << 'PYEOF'
|
|
74
|
+
import json, os, sys
|
|
75
|
+
|
|
76
|
+
state_file = os.environ.get('STATE_FILE', '')
|
|
77
|
+
step = os.environ.get('STEP', '')
|
|
78
|
+
now = os.environ.get('NOW', '')
|
|
79
|
+
|
|
80
|
+
if not state_file or not step:
|
|
81
|
+
sys.exit(0)
|
|
82
|
+
|
|
83
|
+
state = {}
|
|
84
|
+
if os.path.exists(state_file):
|
|
85
|
+
try:
|
|
86
|
+
with open(state_file) as f:
|
|
87
|
+
state = json.load(f)
|
|
88
|
+
except Exception:
|
|
89
|
+
pass
|
|
90
|
+
|
|
91
|
+
if 'steps' not in state:
|
|
92
|
+
state['steps'] = {}
|
|
93
|
+
|
|
94
|
+
# DOCS call means new task — full reset
|
|
95
|
+
if step == 'DOCS' and state.get('current_step') != 'DOCS':
|
|
96
|
+
state['steps'] = {}
|
|
97
|
+
state['task_started_at'] = now
|
|
98
|
+
|
|
99
|
+
state['steps'][step] = {'status': 'done', 'at': now}
|
|
100
|
+
state['current_step'] = step
|
|
101
|
+
state['updated_at'] = now
|
|
102
|
+
|
|
103
|
+
with open(state_file, 'w') as f:
|
|
104
|
+
json.dump(state, f, indent=2)
|
|
105
|
+
PYEOF
|
|
106
|
+
|
|
107
|
+
# Compact progress line to stderr (visible in CLI)
|
|
108
|
+
export STATE_FILE
|
|
109
|
+
python3 << 'PYEOF'
|
|
110
|
+
import json, os, sys
|
|
111
|
+
|
|
112
|
+
state_file = os.environ.get('STATE_FILE', '')
|
|
113
|
+
if not state_file or not os.path.exists(state_file):
|
|
114
|
+
sys.exit(0)
|
|
115
|
+
|
|
116
|
+
with open(state_file) as f:
|
|
117
|
+
state = json.load(f)
|
|
118
|
+
|
|
119
|
+
steps = state.get('steps', {})
|
|
120
|
+
# ASK2 excluded — no Skill/Agent mapping exists for user-validation steps
|
|
121
|
+
pipeline_order = [
|
|
122
|
+
'DOCS', 'QUOI', 'ASK', 'AVEC QUOI', 'DIVERGE',
|
|
123
|
+
'RECHERCHE', 'SECURITE', 'CODEBASE', 'EVALUER',
|
|
124
|
+
'FAIRE', 'TESTER', 'ADR', 'RELIRE', 'PROUVER',
|
|
125
|
+
'MEMOIRE', 'COMPILER', 'META'
|
|
126
|
+
]
|
|
127
|
+
|
|
128
|
+
done = [s for s in pipeline_order if s in steps and steps[s].get('status') == 'done']
|
|
129
|
+
done_count = len(done)
|
|
130
|
+
total = len(pipeline_order)
|
|
131
|
+
|
|
132
|
+
# Compute pending step: first unfinished after last done
|
|
133
|
+
done_indices = [pipeline_order.index(s) for s in done]
|
|
134
|
+
last_done_idx = max(done_indices) if done_indices else -1
|
|
135
|
+
pending = pipeline_order[last_done_idx + 1] if last_done_idx + 1 < total else None
|
|
136
|
+
|
|
137
|
+
# Show last 5 completed + pending indicator
|
|
138
|
+
display = []
|
|
139
|
+
show = done[-5:] if len(done) > 5 else done[:]
|
|
140
|
+
for s in show:
|
|
141
|
+
display.append(s)
|
|
142
|
+
if pending and pending not in done:
|
|
143
|
+
display.append('●' + pending)
|
|
144
|
+
|
|
145
|
+
line = ' → '.join(display)
|
|
146
|
+
print(f'[CIEL] {line} ({done_count}/{total})', file=sys.stderr)
|
|
147
|
+
PYEOF
|
|
148
|
+
|
|
149
|
+
exit 0
|
|
@@ -37,8 +37,21 @@ import json, os
|
|
|
37
37
|
try: print(len(json.load(open(os.environ['CIEL_PATH']))))
|
|
38
38
|
except: print(0)
|
|
39
39
|
" 2>/dev/null || echo "0")
|
|
40
|
-
if [ "${EDIT_COUNT:-0}" -
|
|
41
|
-
|
|
40
|
+
if [ "${EDIT_COUNT:-0}" -ge 3 ] 2>/dev/null; then
|
|
41
|
+
# Write META-pending flag — persists across sessions until META completed
|
|
42
|
+
META_FLAG="$PROJECT_DIR/.ciel/meta-pending"
|
|
43
|
+
mkdir -p "$PROJECT_DIR/.ciel" 2>/dev/null || true
|
|
44
|
+
python3 -c "
|
|
45
|
+
import json, os, datetime
|
|
46
|
+
flag = os.environ.get('META_FLAG', '')
|
|
47
|
+
if flag:
|
|
48
|
+
data = {'edits': int(os.environ.get('EDIT_COUNT', '0')), 'since': datetime.datetime.utcnow().isoformat() + 'Z'}
|
|
49
|
+
with open(flag, 'w') as f:
|
|
50
|
+
json.dump(data, f)
|
|
51
|
+
" META_FLAG="$META_FLAG" EDIT_COUNT="$EDIT_COUNT" 2>/dev/null || true
|
|
52
|
+
META_GATE=" | META GATE: ${EDIT_COUNT} files edited — previous task MUST complete 10-item META reflection via Skill(meta-critiquer) BEFORE next task. META is NOT optional after 3+ edits. Clear .ciel/meta-pending when done."
|
|
53
|
+
elif [ "${EDIT_COUNT:-0}" -gt 0 ] 2>/dev/null; then
|
|
54
|
+
META_GATE=" | META GATE: ${EDIT_COUNT} file(s) edited — complete 10-item META if previous task ended at PROUVER."
|
|
42
55
|
fi
|
|
43
56
|
fi
|
|
44
57
|
|
|
@@ -99,7 +112,38 @@ if [ -n "${CLAUDE_PROJECT_DIR:-}" ]; then
|
|
|
99
112
|
echo "$DEPTH" > "$CLAUDE_PROJECT_DIR/.ciel/last-depth" 2>/dev/null || true
|
|
100
113
|
fi
|
|
101
114
|
|
|
102
|
-
|
|
115
|
+
# ─── Pipeline state tracker ───────────────────────────────────────────
|
|
116
|
+
PIPELINE_STATE=""
|
|
117
|
+
if [ -n "$PROJECT_DIR" ] && [ -f "$PROJECT_DIR/.ciel/pipeline-state.json" ]; then
|
|
118
|
+
PIPELINE_STATE=$(STATE_FILE="$PROJECT_DIR/.ciel/pipeline-state.json" python3 << 'PYEOF'
|
|
119
|
+
import json, os, sys
|
|
120
|
+
try:
|
|
121
|
+
with open(os.environ['STATE_FILE']) as f:
|
|
122
|
+
state = json.load(f)
|
|
123
|
+
steps = state.get('steps', {})
|
|
124
|
+
# ASK2 excluded — no Skill/Agent mapping exists for user-validation steps
|
|
125
|
+
order = ['DOCS','QUOI','ASK','AVEC QUOI','DIVERGE','RECHERCHE','SECURITE','CODEBASE','EVALUER','FAIRE','TESTER','ADR','RELIRE','PROUVER','MEMOIRE','COMPILER','META']
|
|
126
|
+
done = [s for s in order if s in steps and steps[s].get('status') == 'done']
|
|
127
|
+
done_count = len(done)
|
|
128
|
+
total = len(order)
|
|
129
|
+
# Compute pending step: first unfinished after last done
|
|
130
|
+
done_indices = [order.index(s) for s in done]
|
|
131
|
+
last_done_idx = max(done_indices) if done_indices else -1
|
|
132
|
+
pending = order[last_done_idx + 1] if last_done_idx + 1 < total else None
|
|
133
|
+
# Show last 6 completed + pending indicator
|
|
134
|
+
display = done[-6:] if len(done) > 6 else done[:]
|
|
135
|
+
show = [d + '✓' for d in display]
|
|
136
|
+
if pending and pending not in done:
|
|
137
|
+
show.append(pending + '●')
|
|
138
|
+
bar = ' → '.join(show)
|
|
139
|
+
print(f' | PIPELINE: {bar} ({done_count}/{total})')
|
|
140
|
+
except Exception:
|
|
141
|
+
pass
|
|
142
|
+
PYEOF
|
|
143
|
+
)
|
|
144
|
+
fi
|
|
145
|
+
|
|
146
|
+
MSG_BASE="CIEL depth hint: $DEPTH ($REASON).$DISPATCH_GATE$META_GATE$INTERVENTION_GATE$PIPELINE_STATE | SKILLS: load workflow skill via Skill() for current pipeline step (CLAUDE.md column 'Skill a charger'). Never skip. Invoke depth-classifier if ambiguous before routing pipeline."
|
|
103
147
|
|
|
104
148
|
# Emit JSON via python to handle newlines and quoting safely
|
|
105
149
|
MSG_BASE="$MSG_BASE" MEMORY_OUTPUT="$MEMORY_OUTPUT" python3 -c "
|
|
@@ -63,6 +63,15 @@
|
|
|
63
63
|
}
|
|
64
64
|
]
|
|
65
65
|
},
|
|
66
|
+
{
|
|
67
|
+
"matcher": "Read|Bash",
|
|
68
|
+
"hooks": [
|
|
69
|
+
{
|
|
70
|
+
"type": "command",
|
|
71
|
+
"command": "! [ -x \"$CLAUDE_PROJECT_DIR/.claude/hooks/check-dispatch-gate.sh\" ] || \"$CLAUDE_PROJECT_DIR/.claude/hooks/check-dispatch-gate.sh\""
|
|
72
|
+
}
|
|
73
|
+
]
|
|
74
|
+
},
|
|
66
75
|
{
|
|
67
76
|
"matcher": "Agent",
|
|
68
77
|
"hooks": [
|
|
@@ -86,6 +95,15 @@
|
|
|
86
95
|
"command": "COUNT=$(cat \"${CLAUDE_PROJECT_DIR:-$PWD}/.ciel/tracked-files.json\" 2>/dev/null | python3 -c \"import sys,json; d=json.load(sys.stdin); print(len(d))\" 2>/dev/null || echo \"?\"); echo \"[CIEL] Tracked files: $COUNT — RELIRE recommended at 5+ files or on Critical paths\" >&2"
|
|
87
96
|
}
|
|
88
97
|
]
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"matcher": "Skill|Agent",
|
|
101
|
+
"hooks": [
|
|
102
|
+
{
|
|
103
|
+
"type": "command",
|
|
104
|
+
"command": "! [ -x \"$CLAUDE_PROJECT_DIR/.claude/hooks/track-pipeline.sh\" ] || \"$CLAUDE_PROJECT_DIR/.claude/hooks/track-pipeline.sh\""
|
|
105
|
+
}
|
|
106
|
+
]
|
|
89
107
|
}
|
|
90
108
|
],
|
|
91
109
|
"SubagentStart": [
|
package/assets/CLAUDE.md
CHANGED
|
@@ -10,13 +10,13 @@
|
|
|
10
10
|
2. **Test d'abord** — RED (test echoue) → GREEN (passe) → REFACTOR. Jamais de code sans test.
|
|
11
11
|
3. **Zero secret** — pas de cle, token, ou mot de passe dans le code. Variables d'environnement uniquement.
|
|
12
12
|
4. **Pas de placeholder** — pas de `// TODO`, pas de `// ...rest of code`. Tout code est complet ou absent.
|
|
13
|
-
5. **Pipeline complet** —
|
|
13
|
+
5. **Pipeline complet** — 18 etapes dans l'ordre. Ne saute jamais TESTER, RELIRE, ni PROUVER.
|
|
14
14
|
6. **Pipeline invisible** — jamais de tableaux d'etapes, de "DOCS termine", de "Passons a QUOI", ni de comptes-rendus META dans la sortie visible. L'utilisateur voit les resultats, jamais la machinerie.
|
|
15
15
|
7. **Skills obligatoires** — a chaque etape du pipeline, charger le skill workflow correspondant avec l'outil `Skill` (colonne "Skill a charger" dans le tableau). Ne jamais sauter un skill: son contenu n'est pas dans ta memoire d'entrainement, il est dans le fichier SKILL.md.
|
|
16
16
|
|
|
17
17
|
---
|
|
18
18
|
|
|
19
|
-
## Pipeline (
|
|
19
|
+
## Pipeline (18 etapes — a tracker en interne, jamais affiche)
|
|
20
20
|
|
|
21
21
|
Chaque etape a un skill workflow dedie a charger via `Skill` avant de l'executer.
|
|
22
22
|
|
|
@@ -38,6 +38,7 @@ Chaque etape a un skill workflow dedie a charger via `Skill` avant de l'executer
|
|
|
38
38
|
| **RELIRE** | Std/Crit | `relire-critic` | Dispatch `ciel-critic` MODE=RELIRE: 4 RISQUES + FIX/ACCEPT/DEFER |
|
|
39
39
|
| **PROUVER** | Std/Crit | `prouver-verifier` | Evidence AVANT/APRES + CI gate + issue comment gate |
|
|
40
40
|
| **MEMOIRE** | All | `memoire` | Capturer bugs decouverts, patterns appris, decisions utilisateur, anti-patterns detectes → `python3 .claude/hooks/memory-engine.py capture` |
|
|
41
|
+
| **COMPILER** | Std/Crit | `savoir-compiler` | Si >= 5 episodes non compiles → compiler en `.ciel/wiki/`. Sinon skip. |
|
|
41
42
|
| **META** | All | `meta-critiquer` | Reflection (10 items ci-dessous). Jamais dans la sortie visible. |
|
|
42
43
|
|
|
43
44
|
---
|
|
@@ -47,8 +48,8 @@ Chaque etape a un skill workflow dedie a charger via `Skill` avant de l'executer
|
|
|
47
48
|
| Level | Example | Pipeline |
|
|
48
49
|
|-------|---------|----------|
|
|
49
50
|
| **Trivial** | rename, typo, 1-liner | DOCS → QUOI → FAIRE → META |
|
|
50
|
-
| **Standard** | hook, route, component, service |
|
|
51
|
-
| **Critical** | auth, DB schema, security, payment |
|
|
51
|
+
| **Standard** | hook, route, component, service | 18 etapes completes |
|
|
52
|
+
| **Critical** | auth, DB schema, security, payment | 18 + STRIDE + `ciel-critic` obligatoire |
|
|
52
53
|
| **Spike** | POC, draft, experimental | QUOI → ASK → AVEC QUOI → DIVERGE → FAIRE (relaxe) → META |
|
|
53
54
|
|
|
54
55
|
Doute → Standard. Touche aux donnees utilisateur ou auth → Critical.
|
|
@@ -74,7 +75,7 @@ Prompt critique: `"MODE: RELIRE. CHANGED_FILES: [list]. QUOI_GOAL: [quoi]. Apply
|
|
|
74
75
|
|
|
75
76
|
---
|
|
76
77
|
|
|
77
|
-
## Top
|
|
78
|
+
## Top 11 Guards
|
|
78
79
|
|
|
79
80
|
1. **"I already know this" = red flag** → RESEARCH. Fais-le.
|
|
80
81
|
2. **Pas de citation = tu ne sais pas** → verifie avant d'affirmer.
|
|
@@ -86,6 +87,7 @@ Prompt critique: `"MODE: RELIRE. CHANGED_FILES: [list]. QUOI_GOAL: [quoi]. Apply
|
|
|
86
87
|
8. **Test d'abord (RED)**, jamais apres. Toujours.
|
|
87
88
|
9. **"No error in logs" ≠ preuve** → declenche le scenario, vois un signal positif.
|
|
88
89
|
10. **Test suite doit passer** — execute la commande de test apres FAIRE. RED → corrige → re-run. Max 3 boucles puis escalade.
|
|
90
|
+
11. **Episodes sans compilation = savoir dormant** — >= 5 episodes non compiles → declencher `savoir-compiler`. La memoire qui n'est jamais distillee est de la memoire perdue.
|
|
89
91
|
|
|
90
92
|
---
|
|
91
93
|
|
|
@@ -122,4 +124,5 @@ A la fin de chaque tache, charger `meta-critiquer` et repondre a ces 10 question
|
|
|
122
124
|
- **Pas de PROUVER** → montrer evidence AVANT/APRES (logs, curl, screenshot)
|
|
123
125
|
- **Pas de MEMOIRE** → sauver `.ciel/map.json` et capturer a `.ciel/memory/` en fin de tache
|
|
124
126
|
- **Pas de META** → toujours executer la reflection (10 items)
|
|
127
|
+
- **Pas de COMPILER** → si >= 5 episodes non compiles, declencher `savoir-compiler`
|
|
125
128
|
- **Pipeline visible** → le pipeline est dans le thinking UNIQUEMENT
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ciel-compile
|
|
3
|
+
description: Compile les episodes de memoire bruts en pages wiki structurees (Karpathy-inspired second brain)
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /ciel-compile
|
|
7
|
+
|
|
8
|
+
Compile les episodes de `.ciel/memory/episodes/` en pages wiki structurees dans `.ciel/wiki/`.
|
|
9
|
+
|
|
10
|
+
Utilise le skill `savoir-compiler` pour :
|
|
11
|
+
1. Scanner les episodes non compiles
|
|
12
|
+
2. Distiller en pages wiki organisees par domaine
|
|
13
|
+
3. Cross-referencer les pages entre elles
|
|
14
|
+
4. Detecter contradictions et doublons
|
|
15
|
+
5. Proposer des promotions vers `.claude/rules/`
|
|
16
|
+
|
|
17
|
+
**Quand l'utiliser :** quand >= 5 episodes se sont accumules sans compilation, ou apres une session riche en captures MEMOIRE.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Ciel — Primary orchestrator
|
|
2
|
+
description: Ciel — Primary orchestrator v8. Full 18-step pipeline enforced via plugin. Short instruction — the pipeline reminder is injected before every user message.
|
|
3
3
|
mode: primary
|
|
4
4
|
color: "#22D3EE"
|
|
5
5
|
temperature: 0.2
|
|
@@ -28,14 +28,14 @@ permission:
|
|
|
28
28
|
ciel-improver: allow
|
|
29
29
|
---
|
|
30
30
|
|
|
31
|
-
# Ciel — Primary Orchestrator
|
|
31
|
+
# Ciel — Primary Orchestrator v8
|
|
32
32
|
|
|
33
|
-
Tu es l'orchestrateur Ciel
|
|
33
|
+
Tu es l'orchestrateur Ciel v8. Analyse, planifie, implemente, verifie.
|
|
34
34
|
|
|
35
35
|
## Regles (immutables)
|
|
36
36
|
|
|
37
|
-
1. **Pipeline interne** — classifie la profondeur et suis les
|
|
38
|
-
2. **Pipeline** — suis les
|
|
37
|
+
1. **Pipeline interne** — classifie la profondeur et suis les 18 etapes en interne. N'affiche pas la classification.
|
|
38
|
+
2. **Pipeline** — suis les 18 etapes (tableau ci-dessous). Le plugin injecte un rappel avant chaque message.
|
|
39
39
|
3. **TODO list** — utilise `todowrite` au debut de chaque tache pour tracker les etapes. Marque chaque etape completed/in_progress au fur et a mesure.
|
|
40
40
|
4. **ASK** — utilise `question` tool SEULEMENT si ambigu. Si le contexte est suffisant, DECIDE et avance. Ne demande pas pour chaque etape.
|
|
41
41
|
5. **Subagents** — @ciel-researcher pour RECHERCHE, @ciel-explorer pour CODEBASE, @ciel-critic pour RELIRE/SECURITE
|
|
@@ -43,7 +43,7 @@ Tu es l'orchestrateur Ciel v6. Analyse, planifie, implemente, verifie.
|
|
|
43
43
|
7. **SELF-CHECK** — apres chaque etape, verifie: ai-je fait DOCS? QUOI? ASK? DIVERGE? RECHERCHE?
|
|
44
44
|
8. **META** — reflexion post-tache (toujours, non-negociable). 10 items.
|
|
45
45
|
|
|
46
|
-
## Pipeline (
|
|
46
|
+
## Pipeline (18 etapes)
|
|
47
47
|
|
|
48
48
|
| Etape | Depth | Action |
|
|
49
49
|
|-------|-------|--------|
|
|
@@ -58,10 +58,12 @@ Tu es l'orchestrateur Ciel v6. Analyse, planifie, implemente, verifie.
|
|
|
58
58
|
| **EVALUER** | Std/Crit | Sizing + 2 failure modes + counterfactual → skill `evaluer-sizer` |
|
|
59
59
|
| **ASK2** | Std/Crit | Valider le plan avec l'utilisateur avant de coder |
|
|
60
60
|
| **FAIRE** | Toutes | Test-first RED + alternatives + idiomatique → skill `faire-gatekeeper` |
|
|
61
|
+
| **TESTER** | Std/Crit | Executer la suite de tests. RED? → FAIRE. GREEN? → continuer. Max 3 loops. |
|
|
61
62
|
| **ADR** | Decision | Si decision architecturale → `docs/adrs/` → skill `adr-auto` |
|
|
62
|
-
| **RELIRE** | Std/Crit | @ciel-critic MODE=RELIRE:
|
|
63
|
+
| **RELIRE** | Std/Crit | @ciel-critic MODE=RELIRE: 4 RISQUES + FIX/ACCEPT/DEFER |
|
|
63
64
|
| **PROUVER** | Std/Crit | Evidence AVANT/APRES + CI gate → skill `prouver-verifier` |
|
|
64
|
-
| **MEMOIRE** | Toutes |
|
|
65
|
+
| **MEMOIRE** | Toutes | Capturer episodes → `python3 .claude/hooks/memory-engine.py capture` |
|
|
66
|
+
| **COMPILER** | Std/Crit | Si >= 5 episodes non compiles → compiler en `.ciel/wiki/` → skill `savoir-compiler` |
|
|
65
67
|
| **META** | Toutes | Reflexion post-tache (10 items) → skill `meta-critiquer` |
|
|
66
68
|
|
|
67
69
|
## Depth Gauge
|
|
@@ -69,13 +71,13 @@ Tu es l'orchestrateur Ciel v6. Analyse, planifie, implemente, verifie.
|
|
|
69
71
|
| Niveau | Exemple | Pipeline |
|
|
70
72
|
|--------|---------|----------|
|
|
71
73
|
| **Trivial** | rename, typo, 1-liner | QUOI → FAIRE → META |
|
|
72
|
-
| **Standard** | hook, route, component, service | Full
|
|
74
|
+
| **Standard** | hook, route, component, service | Full 18 etapes |
|
|
73
75
|
| **Critical** | auth, DB schema, security, payment | Full + STRIDE + @ciel-critic mandatory |
|
|
74
76
|
| **Spike** | POC, draft, experimental | QUOI → ASK → AVEC QUOI → DIVERGE → FAIRE (relaxed) → META |
|
|
75
77
|
|
|
76
78
|
Unsure → Standard. Touching user data or auth → Critical.
|
|
77
79
|
|
|
78
|
-
## Top
|
|
80
|
+
## Top 11 Guards
|
|
79
81
|
|
|
80
82
|
1. **"I already know this" = red flag** → besoin de RECHERCHE. Fais-la.
|
|
81
83
|
2. **Verify before asserting** — pas de citation = tu ne sais pas. Ne devine pas.
|
|
@@ -87,6 +89,7 @@ Unsure → Standard. Touching user data or auth → Critical.
|
|
|
87
89
|
8. **Scope drift at 3+ files** → re-read QUOI. Recentre-toi.
|
|
88
90
|
9. **Write test FIRST (RED)**, not after. Toujours.
|
|
89
91
|
10. **"No error in logs" ≠ proof** → trigger le scenario, vois le signal positif.
|
|
92
|
+
11. **Episodes sans compilation = savoir dormant** — >= 5 episodes non compiles → skill `savoir-compiler`.
|
|
90
93
|
|
|
91
94
|
## Subagent Dispatch
|
|
92
95
|
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: savoir-compiler
|
|
3
|
+
description: Compile raw memory episodes into structured wiki pages. Karpathy-inspired knowledge compilation layer between raw memories (.ciel/memory/) and schema rules (ciel-overlay.md, .claude/rules/). Transforms dormant episodes into actionable, cross-referenced knowledge.
|
|
4
|
+
category: meta
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Savoir-Compiler — Ciel Second Brain (inspire de Karpathy LLM Wiki)
|
|
8
|
+
|
|
9
|
+
## What this covers
|
|
10
|
+
|
|
11
|
+
Ciel a deja deux couches de connaissance :
|
|
12
|
+
- **raw** = `.ciel/memory/episodes/` — souvenirs immuables captures par tache
|
|
13
|
+
- **schema** = `ciel-overlay.md` + `.claude/rules/` + `CLAUDE.md` — regles actives
|
|
14
|
+
|
|
15
|
+
Ce qui manque : la **couche wiki** — une compilation structuree et cross-referencee entre les episodes bruts et les regles. C'est le role du savoir-compiler.
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
.ciel/
|
|
19
|
+
memory/ → raw (immuable — capture par MEMOIRE)
|
|
20
|
+
episodes/ ← souvenirs dates, jamais modifies
|
|
21
|
+
concepts/ ← patterns promus (memoire-consolidator)
|
|
22
|
+
guards/ ← regles de vigilance
|
|
23
|
+
wiki/ → compile (LLM-authored — ce skill)
|
|
24
|
+
INDEX.md ← index navigable avec compiled_at
|
|
25
|
+
patterns/ ← patterns distilles depuis les episodes
|
|
26
|
+
decisions/ ← decisions architecturales
|
|
27
|
+
pitfalls/ ← erreurs frequentes compilees
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Principe Karpathy : *"You never write the wiki yourself — the LLM writes and maintains all of it."* Le compilateur lit les episodes raw et produit des pages wiki structurees. L'humain ne les ecrit jamais.
|
|
31
|
+
|
|
32
|
+
## When to run
|
|
33
|
+
|
|
34
|
+
**Automatique :** a l'etape COMPILER du pipeline (apres MEMOIRE), si >= 5 episodes n'ont pas de page wiki correspondante.
|
|
35
|
+
|
|
36
|
+
**Manuel :** `/ciel-compile` — invoque ce skill directement.
|
|
37
|
+
|
|
38
|
+
**Check rapide :** comparer le nombre d'episodes dans `memory/episodes/` avec le `last_compiled_count` dans `wiki/INDEX.md`. Si delta >= 5 → compiler.
|
|
39
|
+
|
|
40
|
+
## Six operations
|
|
41
|
+
|
|
42
|
+
Toujours dans cet ordre. Ne jamais sauter CROSS-REF ou LINT.
|
|
43
|
+
|
|
44
|
+
### 1. INGEST — Scanner les episodes non compiles
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
ls .ciel/memory/episodes/*.md | wc -l
|
|
48
|
+
cat .ciel/wiki/INDEX.md 2>/dev/null || echo "no index yet"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Identifier les episodes qui n'ont pas encore de page wiki. Un episode est "compile" s'il apparait dans le champ `source_episodes` d'une page wiki ou dans `compiled_episodes` de INDEX.md.
|
|
52
|
+
|
|
53
|
+
### 2. COMPILE — Distiller en pages wiki
|
|
54
|
+
|
|
55
|
+
Lire les episodes non compiles. Les grouper par domaine (intent commun, path_pattern commun). Pour chaque groupe de >= 2 episodes, creer une page wiki.
|
|
56
|
+
|
|
57
|
+
**Quand creer une page dediee (>= 2 episodes) vs note dans une page existante (1 episode) :**
|
|
58
|
+
- >= 2 episodes partagent le meme intent → nouvelle page dans `patterns/`
|
|
59
|
+
- 1 episode isole → l'ajouter en note dans la page existante la plus proche, ou creer une entree dans `pitfalls/`
|
|
60
|
+
- Episode de type "decision architecturale" → toujours dans `decisions/`, meme seul
|
|
61
|
+
|
|
62
|
+
**Format de page wiki :**
|
|
63
|
+
|
|
64
|
+
```markdown
|
|
65
|
+
---
|
|
66
|
+
domain: hooks
|
|
67
|
+
compiled_at: 2026-05-24T10:00:00Z
|
|
68
|
+
source_episodes: [mem_xyz, mem_abc]
|
|
69
|
+
related_rules: [.claude/rules/security.md]
|
|
70
|
+
related_wiki: [patterns/bash-hook-patterns.md]
|
|
71
|
+
---
|
|
72
|
+
# Hooks — Patterns compiles
|
|
73
|
+
|
|
74
|
+
## Regle 1: PreToolUse hooks → stderr, jamais stdout
|
|
75
|
+
**Source:** mem_xyz (15 triggers), mem_abc
|
|
76
|
+
**Pourquoi:** stdout JSON corrompt la communication Claude Code
|
|
77
|
+
**Canonique:** hooks/pre-tool-write.sh:72
|
|
78
|
+
**Contexte:** Chaque hook qui communique avec Claude DOIT utiliser >&2
|
|
79
|
+
|
|
80
|
+
## Regle 2: Dispatch gate = marker file + PreToolUse check
|
|
81
|
+
**Source:** mem_5e5de7 (15 triggers)
|
|
82
|
+
**Pourquoi:** Le dispatch gate n'est pas enforce par le LLM mais par hook bash
|
|
83
|
+
**Canonique:** hooks/check-dispatch-gate.sh
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Frontmatter obligatoire : `domain`, `compiled_at`, `source_episodes`. Optionnel : `related_rules`, `related_wiki`.
|
|
87
|
+
|
|
88
|
+
### 3. CROSS-REF — Ajouter des [[wikilinks]]
|
|
89
|
+
|
|
90
|
+
Pour chaque page wiki creee ou modifiee :
|
|
91
|
+
- Linker vers les episodes sources (dans `source_episodes`)
|
|
92
|
+
- Linker vers les regles liees (`related_rules`)
|
|
93
|
+
- Linker vers les autres pages wiki (`related_wiki`) quand le domaine se chevauche
|
|
94
|
+
- Mettre a jour les pages wiki existantes qui devraient referencer la nouvelle page
|
|
95
|
+
|
|
96
|
+
Les wikilinks utilisent le chemin relatif depuis `.ciel/wiki/` : `[patterns/hooks.md](patterns/hooks.md)`
|
|
97
|
+
|
|
98
|
+
### 4. LINT — Detecter les problemes
|
|
99
|
+
|
|
100
|
+
Verifications automatiques :
|
|
101
|
+
- **Contradictions :** deux pages wiki affirment des choses opposees ? → signaler dans le output report
|
|
102
|
+
- **Orphelins :** une page wiki n'est referencee par aucune autre page ni INDEX.md ? → ajouter a INDEX.md
|
|
103
|
+
- **Doublons :** deux pages couvrent le meme sujet (tags identiques a >= 80%) ? → proposer merge
|
|
104
|
+
- **Sources mortes :** un episode source a ete marque `stale: true` ? → mettre a jour la page wiki
|
|
105
|
+
|
|
106
|
+
### 5. PROPOSE — Suggérer des mises à jour du schema
|
|
107
|
+
|
|
108
|
+
Quand une page wiki contient >= 3 episodes source et >= 10 triggers cumules, c'est un candidat pour promouvoir en regle. Emettre une suggestion dans le output report :
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
PROPOSE: promouvoir "patterns/hooks.md" → .claude/rules/hooks.md
|
|
112
|
+
Raison: 5 episodes, 42 triggers cumules. Pattern stabilise.
|
|
113
|
+
Action: AskUserQuestion → si oui, creer la regle et linker depuis wiki.
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Ne jamais modifier le schema sans AskUserQuestion. Le compilateur propose, l'utilisateur dispose.
|
|
117
|
+
|
|
118
|
+
### 6. INDEX — Mettre à jour wiki/INDEX.md
|
|
119
|
+
|
|
120
|
+
Toujours en dernier. INDEX.md est la porte d'entree du wiki :
|
|
121
|
+
|
|
122
|
+
```markdown
|
|
123
|
+
# Ciel Wiki — Index
|
|
124
|
+
|
|
125
|
+
Derniere compilation: 2026-05-24T10:00:00Z
|
|
126
|
+
Episodes compiles: 23/28
|
|
127
|
+
Dernier episode vu: episodes/2026-05-24-xxx.md
|
|
128
|
+
|
|
129
|
+
## Patterns (3 pages)
|
|
130
|
+
- [Hooks](patterns/hooks.md) — 5 episodes, 42 triggers
|
|
131
|
+
- [Pipeline](patterns/pipeline.md) — 3 episodes, 18 triggers
|
|
132
|
+
- [Settings](patterns/settings.md) — 2 episodes, 8 triggers
|
|
133
|
+
|
|
134
|
+
## Decisions (1 page)
|
|
135
|
+
- [ADR-0001: Cued-recall vs free-recall](decisions/cued-recall-design.md)
|
|
136
|
+
|
|
137
|
+
## Pitfalls (2 pages)
|
|
138
|
+
- [Bash stdout dans les hooks](pitfalls/bash-stdout-hooks.md)
|
|
139
|
+
- [Version drift multi-fichiers](pitfalls/version-drift.md)
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Mettre a jour `last_compiled_count` et la date.
|
|
143
|
+
|
|
144
|
+
## Anti-patterns
|
|
145
|
+
|
|
146
|
+
| Anti-pattern | Pourquoi |
|
|
147
|
+
|---|---|
|
|
148
|
+
| Modifier les episodes raw | Les episodes sont immuables. Le wiki est derive, pas substitut. |
|
|
149
|
+
| Auto-promote vers schema | Les regles doivent etre validees par l'humain. PROPOSE, n'impose pas. |
|
|
150
|
+
| Creer une page pour 1 episode | Sauf decisions architecturales, une page wiki consolide >= 2 episodes. |
|
|
151
|
+
| Skipper CROSS-REF | Sans wikilinks, le wiki est aussi mort que les episodes raw. |
|
|
152
|
+
| Compiler sans LINT | Des contradictions non detectees = corruptions silencieuses du savoir. |
|
|
153
|
+
| Recopier le contenu des episodes | Compiler = synthetiser, pas agreger. Une page wiki est plus courte que la somme de ses sources. |
|
|
154
|
+
|
|
155
|
+
## Output report
|
|
156
|
+
|
|
157
|
+
Apres chaque compilation, emettre un resume:
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
[savoir-compiler] 2026-05-24T10:00:00Z
|
|
161
|
+
INGEST: 5 nouveaux episodes depuis derniere compilation
|
|
162
|
+
COMPILE: 2 pages creees (patterns/hooks.md, patterns/pipeline.md)
|
|
163
|
+
1 page mise a jour (pitfalls/bash-stdout-hooks.md)
|
|
164
|
+
CROSS-REF: 4 wikilinks ajoutes, 2 pages existantes mises a jour
|
|
165
|
+
LINT: 0 contradiction, 1 orphelin resolu
|
|
166
|
+
PROPOSE: 1 promotion suggeree (hooks → rules)
|
|
167
|
+
INDEX: wiki/INDEX.md mis a jour (5 pages, 23/28 episodes compiles)
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## Token budget
|
|
171
|
+
|
|
172
|
+
- INGEST (ls + cat INDEX.md) : ~100 tokens
|
|
173
|
+
- Lecture episodes : ~500 tokens/episode, max 10 episodes (= 5000 tokens)
|
|
174
|
+
- Ecriture wiki : ~2000 tokens/page, max 3 nouvelles pages par run (= 6000 tokens)
|
|
175
|
+
- INDEX update : ~500 tokens
|
|
176
|
+
|
|
177
|
+
Budget total par run : ~12K tokens. Raisonnable pour une tache Standard.
|
|
178
|
+
|
|
179
|
+
## Related
|
|
180
|
+
|
|
181
|
+
- `memoire` — capture les episodes raw que ce skill compile
|
|
182
|
+
- `memoire-consolidator` — maintenance des episodes (promote/merge/stale), complementaire
|
|
183
|
+
- `meta-critiquer` — reflection post-tache qui peut declencher la compilation
|
|
184
|
+
- `commands/ciel-compile.md` — invocation manuelle
|
|
@@ -34,7 +34,7 @@ Generates a valid SKILL.md scaffold following Ciel's conventions. Returns a diff
|
|
|
34
34
|
- Third person: "Analyzes X" ✓ / "I analyze X" ✗
|
|
35
35
|
- Front-load use case + trigger keywords
|
|
36
36
|
- Include "Use when..." clause
|
|
37
|
-
- ≤
|
|
37
|
+
- ≤ 1536 chars, recommended 200-500
|
|
38
38
|
|
|
39
39
|
### 3. Scaffold SKILL.md
|
|
40
40
|
|
|
@@ -102,7 +102,7 @@ Problems: no trigger, no output, no specificity.
|
|
|
102
102
|
|
|
103
103
|
- [ ] Name valid kebab-case, ≤ 64 chars, unique?
|
|
104
104
|
- [ ] Category is one of the 5 valid categories?
|
|
105
|
-
- [ ] Description: third person, ≤
|
|
105
|
+
- [ ] Description: third person, ≤ 1536 chars, includes trigger?
|
|
106
106
|
- [ ] SKILL.md ≤ 300 lines?
|
|
107
107
|
- [ ] No overlap with existing skills (grep checked)?
|
|
108
108
|
- [ ] YAML frontmatter valid?
|
|
@@ -193,6 +193,8 @@ The legacy single-blob `learnings.md` is kept for backward compatibility but **d
|
|
|
193
193
|
|
|
194
194
|
- `docs/adrs/0001-cued-recall-memory.md` — full design rationale and binding principles
|
|
195
195
|
- `skills/workflow/memoire-consolidator` — periodic maintenance: promote, merge, decay
|
|
196
|
+
- `skills/meta/savoir-compiler` — compile raw episodes into structured wiki pages (Karpathy-inspired)
|
|
196
197
|
- `commands/ciel-memory-bootstrap.md` — first-run scan + ingestion
|
|
198
|
+
- `commands/ciel-compile.md` — manual wiki compilation trigger
|
|
197
199
|
- `hooks/user-prompt-submit.sh` — detects intervention patterns and proposes capture
|
|
198
200
|
- `hooks/session-start.sh` — injects matching memories at session start
|
package/dist/cli/check.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"AA+KA,UAAU,eAAe;IACvB,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CA4IjE;AA2CD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAExD;AAoCD,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAoB9C"}
|
package/dist/cli/check.js
CHANGED
package/dist/cli/check.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@neikyun/ciel",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.14.0",
|
|
4
4
|
"description": "Ciel — Deep-reasoning pipeline for LLM-assisted development. OpenCode plugin + multi-platform CLI (OpenCode, Claude Code, more).",
|
|
5
5
|
"main": "./dist/plugin/index.js",
|
|
6
6
|
"types": "./dist/plugin/index.d.ts",
|