@ksuchoi216/ahe 0.1.7 → 0.1.12
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/README.md +57 -20
- package/bin/ahe +34 -233
- package/package.json +7 -4
- package/packages/ahe-antigravity/bin/ahe-antigravity +325 -0
- package/packages/ahe-antigravity/package.json +7 -0
- package/packages/ahe-antigravity/skills/ahe-git/SKILL.md +35 -0
- package/packages/ahe-antigravity/skills/ahe-ship/SKILL.md +28 -0
- package/packages/ahe-antigravity/skills/ahe-ship/scripts/post-ship-hook.sh +12 -0
- package/packages/ahe-codex/.codex/agents/ahe-harness-manager.toml +19 -0
- package/{.codex → packages/ahe-codex/.codex}/ahe-shared/templates/AGENTS.md +11 -10
- package/{.codex/ahe-shared/templates/PRODUCT.md → packages/ahe-codex/.codex/ahe-shared/templates/product.md} +1 -1
- package/packages/ahe-codex/.codex/hooks/ahe-hook.js +249 -0
- package/packages/ahe-codex/.codex/skills/ahe/SKILL.md +36 -0
- package/packages/ahe-codex/.codex/skills/ahe-clean/SKILL.md +67 -0
- package/{.codex/skills/ahe-conversator → packages/ahe-codex/.codex/skills/ahe-converse}/SKILL.md +6 -6
- package/packages/ahe-codex/.codex/skills/ahe-feature/SKILL.md +25 -0
- package/packages/ahe-codex/.codex/skills/ahe-git/SKILL.md +34 -0
- package/packages/ahe-codex/.codex/skills/ahe-harness/SKILL.md +129 -0
- package/packages/ahe-codex/.codex/skills/ahe-harness-checker/SKILL.md +46 -0
- package/{.codex/skills/ahe-init → packages/ahe-codex/.codex/skills/ahe-new}/SKILL.md +36 -21
- package/packages/ahe-codex/.codex/skills/ahe-overview/SKILL.md +96 -0
- package/packages/ahe-codex/.codex/skills/ahe-review/SKILL.md +43 -0
- package/packages/ahe-codex/.codex/skills/ahe-ship/SKILL.md +58 -0
- package/packages/ahe-codex/.codex/skills/ahe-ship/agents/openai.yaml +4 -0
- package/packages/ahe-codex/.codex/skills/ahe-ship/scripts/write_plan.py +107 -0
- package/packages/ahe-codex/.codex/skills/ahe-solve/SKILL.md +30 -0
- package/packages/ahe-codex/.codex/skills/ahe-think/SKILL.md +125 -0
- package/packages/ahe-codex/bin/ahe-codex +398 -0
- package/packages/ahe-codex/package.json +7 -0
- package/.codex/ahe-shared/config.yaml +0 -8
- package/.codex/hooks/ahe-hook.js +0 -195
- package/.codex/skills/ahe-compression/SKILL.md +0 -97
- package/.codex/skills/ahe-compression/agents/openai.yaml +0 -6
- package/.codex/skills/ahe-compression/scripts/check-harness-size.sh +0 -109
- package/.codex/skills/ahe-harness/SKILL.md +0 -115
- package/.codex/skills/ahe-reviewer/SKILL.md +0 -35
- package/.codex/skills/ahe-solver/SKILL.md +0 -24
- package/.codex/skills/ahe-thinker/SKILL.md +0 -80
- /package/{.codex → packages/ahe-codex/.codex}/ahe-shared/schemas/feature-list-schema.json +0 -0
- /package/{.codex → packages/ahe-codex/.codex}/ahe-shared/schemas/process_status.schema.json +0 -0
- /package/{.codex → packages/ahe-codex/.codex}/ahe-shared/templates/INSTRUCTIONS.md +0 -0
- /package/{.codex → packages/ahe-codex/.codex}/ahe-shared/templates/feature-list.json +0 -0
- /package/{.codex → packages/ahe-codex/.codex}/ahe-shared/templates/init.sh +0 -0
- /package/{.codex/ahe-shared/templates/PROGRESS.md → packages/ahe-codex/.codex/ahe-shared/templates/progress.md} +0 -0
- /package/{.codex/ahe-shared/templates/SESSION-HANDOFF.md → packages/ahe-codex/.codex/ahe-shared/templates/session-handoff.md} +0 -0
- /package/{.codex → packages/ahe-codex/.codex}/hooks/hooks.json +0 -0
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ahe-compression
|
|
3
|
-
description: Internal AHE compression workflow for detecting oversized harness-engineering files and compacting them before AHE thinker or harness routing reads large context. Use when AGENTS.md, docs/PRODUCT.md, docs/INSTRUCTIONS.md, feature-list.json, PROGRESS.md, SESSION-HANDOFF.md, docs/todo.md, or other AHE harness artifacts have too many lines or waste context.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# AHE Compression
|
|
7
|
-
|
|
8
|
-
This is an internal AHE workflow skill, not a user-facing command.
|
|
9
|
-
|
|
10
|
-
Do not treat `$ahe-compression` as a user command.
|
|
11
|
-
Use it after `ahe-thinker` or `ahe-harness` decides that harness context is too large to read
|
|
12
|
-
efficiently.
|
|
13
|
-
|
|
14
|
-
## Size Detection
|
|
15
|
-
|
|
16
|
-
Run the deterministic line-count preflight before reading full harness files:
|
|
17
|
-
|
|
18
|
-
```bash
|
|
19
|
-
sh .codex/skills/ahe-compression/scripts/check-harness-size.sh
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
The script checks these AHE-managed files when they exist:
|
|
23
|
-
|
|
24
|
-
- `AGENTS.md`
|
|
25
|
-
- `docs/PRODUCT.md`
|
|
26
|
-
- `docs/INSTRUCTIONS.md`
|
|
27
|
-
- `feature-list.json`
|
|
28
|
-
- `PROGRESS.md`
|
|
29
|
-
- `SESSION-HANDOFF.md`
|
|
30
|
-
- `docs/todo.md`
|
|
31
|
-
|
|
32
|
-
Default thresholds are configured in `.codex/ahe-shared/config.yaml`:
|
|
33
|
-
|
|
34
|
-
- `agent_md`: 80
|
|
35
|
-
- `product_md`: 180
|
|
36
|
-
- `instructions_md`: 180
|
|
37
|
-
- `feature_list_json`: 180
|
|
38
|
-
- `progress_md`: 180
|
|
39
|
-
- `session_handoff_md`: 180
|
|
40
|
-
- `todo_md`: 180
|
|
41
|
-
- `total`: 750 (combined harness context limit)
|
|
42
|
-
|
|
43
|
-
Override thresholds only when the workspace has an explicit local rule using environment variables (e.g., `AHE_AGENT_MD_LIMIT`, `AHE_FILE_LINE_LIMIT`, `AHE_TOTAL_LINE_LIMIT`):
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
AHE_AGENT_MD_LIMIT=100 AHE_TOTAL_LINE_LIMIT=900 sh .codex/skills/ahe-compression/scripts/check-harness-size.sh
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
Exit code meanings:
|
|
50
|
-
|
|
51
|
-
- `0`: no compression needed.
|
|
52
|
-
- `2`: compression needed.
|
|
53
|
-
- Output ending in `COMPRESSION_REQUIRED`: compression needed.
|
|
54
|
-
- Any other nonzero code: detector failed; fall back to `wc -l` on the same
|
|
55
|
-
file set and continue the decision manually.
|
|
56
|
-
|
|
57
|
-
## Compression Decision
|
|
58
|
-
|
|
59
|
-
- If the detector exits `2`, compress before normal AHE routing continues.
|
|
60
|
-
- If only one file exceeds the per-file threshold, compress that file first.
|
|
61
|
-
- If total harness context exceeds the total threshold, compress the largest
|
|
62
|
-
AHE-managed files until the total is under the threshold.
|
|
63
|
-
- If `AGENTS.md` is oversized, obey the local `AGENTS.md` instructions before
|
|
64
|
-
editing it. Compress only sections that local rules allow. If no section is
|
|
65
|
-
safely editable, report the blocker and compress other harness files instead.
|
|
66
|
-
- Do not read an oversized file wholesale after detection. Read headings,
|
|
67
|
-
current-status sections, JSON keys, or bounded line ranges needed to preserve
|
|
68
|
-
behavior.
|
|
69
|
-
|
|
70
|
-
## Compression Rules
|
|
71
|
-
|
|
72
|
-
- Preserve active requirements, current decisions, incomplete work, blockers,
|
|
73
|
-
dependencies, and verification evidence.
|
|
74
|
-
- Preserve required headers and file formats for `PROGRESS.md`,
|
|
75
|
-
`SESSION-HANDOFF.md`, `feature-list.json`, and `AGENTS.md`.
|
|
76
|
-
- Keep `feature-list.json` valid JSON. Replace stale completed-feature history
|
|
77
|
-
with one summarized done feature, preserve its `id`, `name`, `description`,
|
|
78
|
-
`dependencies`, `status`, and short evidence, and keep current unfinished
|
|
79
|
-
details as-is.
|
|
80
|
-
- Keep `docs/PRODUCT.md` and `docs/INSTRUCTIONS.md` as the current harness
|
|
81
|
-
contract. Remove duplicate historical wording only when the active contract
|
|
82
|
-
remains clear.
|
|
83
|
-
- Keep `PROGRESS.md` focused on current status, recent completed work,
|
|
84
|
-
decisions that still matter, blockers, and latest verification.
|
|
85
|
-
- Keep `SESSION-HANDOFF.md` focused on the startup path for the next session,
|
|
86
|
-
important files, open questions, and current verification status.
|
|
87
|
-
- Do not create backup copies when compressing harness history. Preserve useful
|
|
88
|
-
context through concise summaries in the refreshed harness files instead.
|
|
89
|
-
|
|
90
|
-
## Completion
|
|
91
|
-
|
|
92
|
-
- Re-run the size detector after compression.
|
|
93
|
-
- Run JSON validation when `feature-list.json` changed.
|
|
94
|
-
- Run the repository's normal harness verification command when compression
|
|
95
|
-
changed tracked harness files.
|
|
96
|
-
- Update `PROGRESS.md` and `SESSION-HANDOFF.md` with the compression evidence
|
|
97
|
-
when they changed or when compression affects the active workflow.
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env sh
|
|
2
|
-
set -eu
|
|
3
|
-
|
|
4
|
-
limit_agent_md=180
|
|
5
|
-
limit_product_md=180
|
|
6
|
-
limit_instructions_md=180
|
|
7
|
-
limit_feature_list_json=180
|
|
8
|
-
limit_progress_md=180
|
|
9
|
-
limit_session_handoff_md=180
|
|
10
|
-
limit_todo_md=180
|
|
11
|
-
limit_total=750
|
|
12
|
-
|
|
13
|
-
config_file=".codex/ahe-shared/config.yaml"
|
|
14
|
-
if [ -f "${config_file}" ]; then
|
|
15
|
-
while IFS= read -r line || [ -n "$line" ]; do
|
|
16
|
-
line="${line#"${line%%[![:space:]]*}"}"
|
|
17
|
-
line="${line%"${line##*[![:space:]]}"}"
|
|
18
|
-
case "$line" in
|
|
19
|
-
"" | \#*) continue ;;
|
|
20
|
-
esac
|
|
21
|
-
|
|
22
|
-
key="${line%%:*}"
|
|
23
|
-
val="${line#*:}"
|
|
24
|
-
key="${key%"${key##*[![:space:]]}"}"
|
|
25
|
-
val="${val#"${val%%[![:space:]]*}"}"
|
|
26
|
-
|
|
27
|
-
case "$val" in
|
|
28
|
-
''|*[!0-9]*) continue ;;
|
|
29
|
-
esac
|
|
30
|
-
|
|
31
|
-
case "$key" in
|
|
32
|
-
agent_md) limit_agent_md="$val" ;;
|
|
33
|
-
product_md) limit_product_md="$val" ;;
|
|
34
|
-
instructions_md) limit_instructions_md="$val" ;;
|
|
35
|
-
feature_list_json) limit_feature_list_json="$val" ;;
|
|
36
|
-
progress_md) limit_progress_md="$val" ;;
|
|
37
|
-
session_handoff_md) limit_session_handoff_md="$val" ;;
|
|
38
|
-
todo_md) limit_todo_md="$val" ;;
|
|
39
|
-
total) limit_total="$val" ;;
|
|
40
|
-
esac
|
|
41
|
-
done < "${config_file}"
|
|
42
|
-
fi
|
|
43
|
-
|
|
44
|
-
limit_agent_md="${AHE_AGENT_MD_LIMIT:-${AHE_FILE_LINE_LIMIT:-$limit_agent_md}}"
|
|
45
|
-
limit_product_md="${AHE_PRODUCT_MD_LIMIT:-${AHE_FILE_LINE_LIMIT:-$limit_product_md}}"
|
|
46
|
-
limit_instructions_md="${AHE_INSTRUCTIONS_MD_LIMIT:-${AHE_FILE_LINE_LIMIT:-$limit_instructions_md}}"
|
|
47
|
-
limit_feature_list_json="${AHE_FEATURE_LIST_JSON_LIMIT:-${AHE_FILE_LINE_LIMIT:-$limit_feature_list_json}}"
|
|
48
|
-
limit_progress_md="${AHE_PROGRESS_MD_LIMIT:-${AHE_FILE_LINE_LIMIT:-$limit_progress_md}}"
|
|
49
|
-
limit_session_handoff_md="${AHE_SESSION_HANDOFF_MD_LIMIT:-${AHE_FILE_LINE_LIMIT:-$limit_session_handoff_md}}"
|
|
50
|
-
limit_todo_md="${AHE_TODO_MD_LIMIT:-${AHE_FILE_LINE_LIMIT:-$limit_todo_md}}"
|
|
51
|
-
total_limit="${AHE_TOTAL_LINE_LIMIT:-$limit_total}"
|
|
52
|
-
|
|
53
|
-
total_lines=0
|
|
54
|
-
compression_required=0
|
|
55
|
-
|
|
56
|
-
if [ "$#" -eq 0 ]; then
|
|
57
|
-
set -- \
|
|
58
|
-
"AGENTS.md" \
|
|
59
|
-
"docs/PRODUCT.md" \
|
|
60
|
-
"docs/INSTRUCTIONS.md" \
|
|
61
|
-
"feature-list.json" \
|
|
62
|
-
"PROGRESS.md" \
|
|
63
|
-
"SESSION-HANDOFF.md" \
|
|
64
|
-
"docs/todo.md"
|
|
65
|
-
fi
|
|
66
|
-
|
|
67
|
-
for file_path in "$@"; do
|
|
68
|
-
if [ ! -f "${file_path}" ]; then
|
|
69
|
-
continue
|
|
70
|
-
fi
|
|
71
|
-
|
|
72
|
-
line_count="$(wc -l < "${file_path}")"
|
|
73
|
-
line_count="${line_count#"${line_count%%[![:space:]]*}"}"
|
|
74
|
-
line_count="${line_count%"${line_count##*[![:space:]]}"}"
|
|
75
|
-
total_lines=$((total_lines + line_count))
|
|
76
|
-
|
|
77
|
-
current_limit=180
|
|
78
|
-
case "${file_path}" in
|
|
79
|
-
"AGENTS.md") current_limit="${limit_agent_md}" ;;
|
|
80
|
-
"docs/PRODUCT.md") current_limit="${limit_product_md}" ;;
|
|
81
|
-
"docs/INSTRUCTIONS.md") current_limit="${limit_instructions_md}" ;;
|
|
82
|
-
"feature-list.json") current_limit="${limit_feature_list_json}" ;;
|
|
83
|
-
"PROGRESS.md") current_limit="${limit_progress_md}" ;;
|
|
84
|
-
"SESSION-HANDOFF.md") current_limit="${limit_session_handoff_md}" ;;
|
|
85
|
-
"docs/todo.md") current_limit="${limit_todo_md}" ;;
|
|
86
|
-
*) current_limit="${AHE_FILE_LINE_LIMIT:-180}" ;;
|
|
87
|
-
esac
|
|
88
|
-
|
|
89
|
-
if [ "${line_count}" -ge "${current_limit}" ]; then
|
|
90
|
-
compression_required=1
|
|
91
|
-
printf 'COMPRESS\t%s\t%s\tlimit=%s\n' "${file_path}" "${line_count}" "${current_limit}"
|
|
92
|
-
else
|
|
93
|
-
printf 'OK\t%s\t%s\tlimit=%s\n' "${file_path}" "${line_count}" "${current_limit}"
|
|
94
|
-
fi
|
|
95
|
-
done
|
|
96
|
-
|
|
97
|
-
if [ "${total_lines}" -ge "${total_limit}" ]; then
|
|
98
|
-
compression_required=1
|
|
99
|
-
printf 'COMPRESS_TOTAL\t%s\tlimit=%s\n' "${total_lines}" "${total_limit}"
|
|
100
|
-
else
|
|
101
|
-
printf 'OK_TOTAL\t%s\tlimit=%s\n' "${total_lines}" "${total_limit}"
|
|
102
|
-
fi
|
|
103
|
-
|
|
104
|
-
if [ "${compression_required}" -eq 1 ]; then
|
|
105
|
-
printf 'COMPRESSION_REQUIRED\n'
|
|
106
|
-
exit 2
|
|
107
|
-
fi
|
|
108
|
-
|
|
109
|
-
printf 'COMPRESSION_NOT_REQUIRED\n'
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ahe-harness
|
|
3
|
-
description: Internal AHE harness workflow for managing product docs, instructions, feature tracking, session artifacts, todo sync, and compression-aware maintenance.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# AHE Harness
|
|
7
|
-
|
|
8
|
-
This is an internal AHE workflow skill, not a user-facing command.
|
|
9
|
-
|
|
10
|
-
Do not treat `$ahe-harness` as a user command.
|
|
11
|
-
Use it when `ahe-thinker` or another worker decides that harness artifacts must
|
|
12
|
-
be created, updated, reconciled, or compressed.
|
|
13
|
-
|
|
14
|
-
## Command Workflow: ahe-harness
|
|
15
|
-
|
|
16
|
-
### Harness Inspection
|
|
17
|
-
|
|
18
|
-
- Read `docs/PRODUCT.md` if it exists.
|
|
19
|
-
- Read `docs/INSTRUCTIONS.md` if it exists.
|
|
20
|
-
- Read `AGENTS.md`, `feature-list.json`, `PROGRESS.md`, `SESSION-HANDOFF.md`,
|
|
21
|
-
and `docs/todo.md` when they exist.
|
|
22
|
-
- Read `.ahe/process_status.json` when it exists.
|
|
23
|
-
- Treat `docs/PRODUCT.md` as the canonical source of truth and
|
|
24
|
-
`feature-list.json` as a derived tracker.
|
|
25
|
-
|
|
26
|
-
### Harness Decision Paths
|
|
27
|
-
|
|
28
|
-
- Clarify product goal, scope, and success criteria when `docs/PRODUCT.md`
|
|
29
|
-
needs to change.
|
|
30
|
-
- Clarify project instructions when `docs/INSTRUCTIONS.md` needs to change.
|
|
31
|
-
- Clarify what next feature or goal should be tracked when the next work item is
|
|
32
|
-
unclear.
|
|
33
|
-
- `docs/PRODUCT.md` is the canonical home for product specification details collected during `ahe init`.
|
|
34
|
-
- Write product behavior, scope, requirements, success criteria, and workflow details into `docs/PRODUCT.md`.
|
|
35
|
-
- `docs/PRODUCT.md` is the canonical source of truth. Concrete feature items for `feature-list.json` must be derived from it only after it has been populated.
|
|
36
|
-
- Do not move product specification details into `AGENTS.md`.
|
|
37
|
-
- Update only the relevant docs among `docs/PRODUCT.md` and
|
|
38
|
-
`docs/INSTRUCTIONS.md`.
|
|
39
|
-
- If the user is adding new work, append it into the last `## TODO` section of
|
|
40
|
-
`docs/todo.md`, create that section when needed, and update
|
|
41
|
-
`feature-list.json`.
|
|
42
|
-
- Apply the queued `docs/todo.md` content to `docs/PRODUCT.md`.
|
|
43
|
-
- Remove the applied content from `docs/todo.md` because that todo content is
|
|
44
|
-
already reflected in `docs/PRODUCT.md`.
|
|
45
|
-
- Update `feature-list.json` to derive the specific feature items from the updated `docs/PRODUCT.md`.
|
|
46
|
-
- Update `PROGRESS.md`.
|
|
47
|
-
- Update `SESSION-HANDOFF.md`.
|
|
48
|
-
- For `ahe compress feature-list`, replace old completed feature entries with one summarized done feature.
|
|
49
|
-
- Keep the summarized feature valid for the existing schema by preserving its
|
|
50
|
-
own `id`, `name`, `description`, `dependencies`, `status`, and short
|
|
51
|
-
evidence.
|
|
52
|
-
- Preserve unfinished, blocked, or active feature items in full detail.
|
|
53
|
-
- Reconcile `feature-list.json` against `docs/PRODUCT.md` after compression.
|
|
54
|
-
- If no new feature can be derived from `docs/PRODUCT.md`, call `ahe-conversator` to ask what next feature, product direction, or goal should be tracked.
|
|
55
|
-
- Call `ahe-reviewer` directly when code or progress evidence must be checked
|
|
56
|
-
before updating harness files.
|
|
57
|
-
|
|
58
|
-
### Harness Completion
|
|
59
|
-
|
|
60
|
-
- Keep `feature-list.json` valid JSON.
|
|
61
|
-
- Do not create backup copies when compressing harness history.
|
|
62
|
-
- Keep `PROGRESS.md` focused on current work, decisions that still matter,
|
|
63
|
-
blockers, and recent verification evidence.
|
|
64
|
-
- Keep `SESSION-HANDOFF.md` focused on the next-session startup path.
|
|
65
|
-
- Keep `.ahe/process_status.json` aligned with the active workflow.
|
|
66
|
-
|
|
67
|
-
## Clarification Rule
|
|
68
|
-
|
|
69
|
-
When the next harness step is not clear, follow the `ahe-thinker` protocol first. If `ahe-thinker` finds missing information, follow the `ahe-conversator` protocol. Ask again recursively using a Codex-supported structured response request, provide 2-3 meaningful mutually exclusive options
|
|
70
|
-
when possible, and allow custom input when predefined options are not enough.
|
|
71
|
-
|
|
72
|
-
### User Response Target
|
|
73
|
-
|
|
74
|
-
- Collect the product, instruction, tracking, or next-feature details required
|
|
75
|
-
to update harness artifacts safely.
|
|
76
|
-
|
|
77
|
-
### Questions to Ask
|
|
78
|
-
|
|
79
|
-
- Ask who the product is for and what problem it solves when product intent is
|
|
80
|
-
unclear.
|
|
81
|
-
- Ask what behavior, scope boundaries, and success criteria should be
|
|
82
|
-
documented.
|
|
83
|
-
- Ask what rule, practice, or guideline belongs in `docs/INSTRUCTIONS.md`.
|
|
84
|
-
- Ask what work should be added next when `docs/PRODUCT.md` does not imply a new
|
|
85
|
-
feature safely.
|
|
86
|
-
|
|
87
|
-
### Clarification Criteria
|
|
88
|
-
|
|
89
|
-
- The answer must be concrete enough to update the relevant harness files
|
|
90
|
-
without guessing.
|
|
91
|
-
- The answer must describe actionable work, the affected area, and the intended
|
|
92
|
-
outcome when queuing a todo item.
|
|
93
|
-
|
|
94
|
-
### Re-ask When
|
|
95
|
-
|
|
96
|
-
- Ask again when the answer is vague, contradictory, or incomplete.
|
|
97
|
-
- Ask again when the response names a topic without enough detail to update the
|
|
98
|
-
harness safely.
|
|
99
|
-
|
|
100
|
-
## Session Tracking and Handoff Sync
|
|
101
|
-
|
|
102
|
-
### Tracking Update Rules
|
|
103
|
-
|
|
104
|
-
- Update `.ahe/process_status.json` at workflow start.
|
|
105
|
-
- Update `.ahe/process_status.json` after every answered question.
|
|
106
|
-
- Refresh `updated_at` every time workflow state changes.
|
|
107
|
-
- Keep `current_command`, `current_step`, and `workflow_complete` aligned with the active workflow state.
|
|
108
|
-
- Keep the `files` status map aligned with the actual workspace files.
|
|
109
|
-
|
|
110
|
-
### Progress and Handoff Content Requirements
|
|
111
|
-
|
|
112
|
-
- Update `PROGRESS.md` whenever the active feature, workflow status, blockers, or verification state changes.
|
|
113
|
-
- Update `SESSION-HANDOFF.md` whenever the current objective, completed work, important files, verification evidence, or recommended next step changes.
|
|
114
|
-
- PROGRESS.md must reflect the current active feature and latest completed work.
|
|
115
|
-
- SESSION-HANDOFF.md must leave the next Codex session with a concrete startup path.
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ahe-reviewer
|
|
3
|
-
description: Internal AHE review workflow for understanding repo code, harness files, and CodeGraph context before another agent acts.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# AHE Reviewer
|
|
7
|
-
|
|
8
|
-
This is an internal AHE workflow skill, not a user-facing command.
|
|
9
|
-
|
|
10
|
-
Do not treat `$ahe-reviewer` as a user command.
|
|
11
|
-
Use it when `ahe-thinker` or another worker needs evidence from code or harness
|
|
12
|
-
state before deciding what to do next.
|
|
13
|
-
|
|
14
|
-
## Review Scope
|
|
15
|
-
|
|
16
|
-
- Inspect repo code, harness files, verification history, and feature progress.
|
|
17
|
-
- If `.codegraph/` exists, prefer `.codegraph` or CodeGraph-backed review
|
|
18
|
-
context when available.
|
|
19
|
-
- Check `AGENTS.md`, `docs/PRODUCT.md`, `docs/INSTRUCTIONS.md`,
|
|
20
|
-
`feature-list.json`, `PROGRESS.md`, `SESSION-HANDOFF.md`, and `docs/todo.md`
|
|
21
|
-
when the question is about harness state.
|
|
22
|
-
|
|
23
|
-
## Handoffs
|
|
24
|
-
|
|
25
|
-
- Report findings back to `ahe-thinker` by default.
|
|
26
|
-
- Call `ahe-harness` directly when review finds harness drift, stale tracking,
|
|
27
|
-
or Product.md / feature-list mismatches.
|
|
28
|
-
- Call `ahe-conversator` only when the missing information must come from the
|
|
29
|
-
user.
|
|
30
|
-
|
|
31
|
-
## Output
|
|
32
|
-
|
|
33
|
-
- State what was reviewed.
|
|
34
|
-
- State the relevant evidence or mismatch.
|
|
35
|
-
- State the recommended next agent.
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ahe-solver
|
|
3
|
-
description: Internal AHE feature-solving workflow for dividing, planning, and solving feature work after the active goal is clear enough.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# AHE Solver
|
|
7
|
-
|
|
8
|
-
This is an internal AHE workflow skill, not a user-facing command.
|
|
9
|
-
|
|
10
|
-
Do not treat `$ahe-solver` as a user command.
|
|
11
|
-
Use it when `ahe-thinker` decides that the next job is building or planning a
|
|
12
|
-
feature.
|
|
13
|
-
|
|
14
|
-
## Command Workflow: ahe-solver
|
|
15
|
-
|
|
16
|
-
- Read the active feature context from `docs/PRODUCT.md`, `feature-list.json`,
|
|
17
|
-
`PROGRESS.md`, and any relevant code files.
|
|
18
|
-
- Divide broad work into smaller problems when useful.
|
|
19
|
-
- Plan each smaller problem before implementation.
|
|
20
|
-
- Call `ahe-reviewer` when repo or code understanding is needed.
|
|
21
|
-
- Call `ahe-conversator` when feature requirements, scope, or success criteria
|
|
22
|
-
are still unclear.
|
|
23
|
-
- Report the solved step, remaining work, and recommended next agent back to
|
|
24
|
-
`ahe-thinker`.
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ahe-thinker
|
|
3
|
-
description: Internal AHE orchestration protocol for routing exact `ahe` and explicit `ahe <query>` requests through the AHE agent network.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# AHE Thinker
|
|
7
|
-
|
|
8
|
-
This is an internal AHE workflow skill, not a user-facing command.
|
|
9
|
-
|
|
10
|
-
Do not treat `$ahe-thinker` as a user command.
|
|
11
|
-
Use it as the central decision layer for AHE work.
|
|
12
|
-
|
|
13
|
-
## Purpose
|
|
14
|
-
|
|
15
|
-
- Judge what is missing before another agent acts.
|
|
16
|
-
- Judge the active `project`, `feature`, or `sub-feature`.
|
|
17
|
-
- Decide which of `Why`, `What`, and `How` are still missing.
|
|
18
|
-
- Choose the next internal agent: `ahe-reviewer`, `ahe-conversator`,
|
|
19
|
-
`ahe-harness`, or `ahe-solver`.
|
|
20
|
-
- Receive each agent result, reassess the state, and decide the next step.
|
|
21
|
-
|
|
22
|
-
## Routing Inputs
|
|
23
|
-
|
|
24
|
-
- Exact `ahe` means continue existing harness work.
|
|
25
|
-
- Exact `ahe init`, exact `ahe-init`, and exact `$ahe-init` stay on the
|
|
26
|
-
`$ahe-init` path.
|
|
27
|
-
- Explicit `ahe <query>` means route the query through `ahe-thinker`.
|
|
28
|
-
- Broad non-prefixed prompts must not activate AHE.
|
|
29
|
-
|
|
30
|
-
## Size Preflight
|
|
31
|
-
|
|
32
|
-
- Before reading full harness files, run
|
|
33
|
-
`sh .codex/skills/ahe-compression/scripts/check-harness-size.sh`.
|
|
34
|
-
- If the detector exits with `COMPRESSION_REQUIRED` or code `2`, call
|
|
35
|
-
`ahe-compression` before normal routing.
|
|
36
|
-
- Do not read oversized harness files wholesale before compression routing is
|
|
37
|
-
settled.
|
|
38
|
-
|
|
39
|
-
## Decision Rules
|
|
40
|
-
|
|
41
|
-
- For a `project`, require `Why`, `What`, and `How` by default.
|
|
42
|
-
- For a `feature` or `sub-feature`, require only the minimum of `Why`, `What`,
|
|
43
|
-
and `How` needed to proceed safely.
|
|
44
|
-
- If the need is understanding repo code, harness drift, progress evidence, or
|
|
45
|
-
CodeGraph context, call `ahe-reviewer`.
|
|
46
|
-
- If the need is user clarification, call `ahe-conversator`.
|
|
47
|
-
- If the need is updating harness artifacts, product docs, feature tracking,
|
|
48
|
-
todo sync, or compression of completed history, call `ahe-harness`.
|
|
49
|
-
- If the need is solving or decomposing feature work, call `ahe-solver`.
|
|
50
|
-
|
|
51
|
-
## Interaction Model
|
|
52
|
-
|
|
53
|
-
- `ahe-thinker` is centered, but direct worker-to-worker calls are allowed when
|
|
54
|
-
they are the obvious next step.
|
|
55
|
-
- Typical loops:
|
|
56
|
-
- `ahe-thinker -> ahe-reviewer -> ahe-thinker`
|
|
57
|
-
- `ahe-thinker -> ahe-harness -> ahe-thinker`
|
|
58
|
-
- `ahe-thinker -> ahe-conversator -> ahe-thinker`
|
|
59
|
-
- `ahe-thinker -> ahe-solver -> ahe-thinker`
|
|
60
|
-
- Allowed direct handoffs include:
|
|
61
|
-
- `ahe-harness -> ahe-conversator`
|
|
62
|
-
- `ahe-solver -> ahe-reviewer`
|
|
63
|
-
- `ahe-reviewer -> ahe-harness`
|
|
64
|
-
- Every handoff must state the goal, reason, relevant files or context, and the
|
|
65
|
-
expected result.
|
|
66
|
-
|
|
67
|
-
## Broad Intent Routing
|
|
68
|
-
|
|
69
|
-
- Use `ahe-reviewer` for review-first requests.
|
|
70
|
-
- Use `ahe-harness` for product, instructions, progress, feature-list, todo, or
|
|
71
|
-
compression maintenance.
|
|
72
|
-
- Use `ahe-solver` for feature implementation planning or execution work.
|
|
73
|
-
- Use `ahe-conversator` when no safe next step exists without user input.
|
|
74
|
-
|
|
75
|
-
## Completion
|
|
76
|
-
|
|
77
|
-
- Continue to the next skill or next unfinished feature until the active unit is
|
|
78
|
-
resolved.
|
|
79
|
-
- Keep `docs/PRODUCT.md` as the canonical contract and `feature-list.json` as a
|
|
80
|
-
derived tracker.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|