Skip to content

Commit f101751

Browse files
authored
Merge pull request #541 from PlanExeOrg/refactor/remove-filename-prefixes
Remove number prefixes from pipeline output filenames
2 parents 537f273 + ef81be1 commit f101751

42 files changed

Lines changed: 437 additions & 437 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/mcp/autonomous_agent_guide.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -123,11 +123,11 @@ An advanced pattern: use PlanExe to plan the agent's own work.
123123
4. Agent executes the plan step by step, tracking progress against the WBS
124124

125125
Key files in the zip for agent consumption:
126-
- `018-2-wbs_level1.json` — High-level work packages
127-
- `018-5-wbs_level2.json` — Detailed tasks within each package
128-
- `023-2-wbs_level3.json` — Sub-tasks with effort estimates
129-
- `004-2-pre_project_assessment.json` — Feasibility assessment
130-
- `003-6-distill_assumptions_raw.json` — Key assumptions to validate
126+
- `wbs_level1.json` — High-level work packages
127+
- `wbs_level2.json` — Detailed tasks within each package
128+
- `wbs_level3.json` — Sub-tasks with effort estimates
129+
- `pre_project_assessment.json` — Feasibility assessment
130+
- `distill_assumptions_raw.json` — Key assumptions to validate
131131

132132
## Prompt writing tips for agents
133133

docs/mcp/mcp_details.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ curl -H "X-API-Key: pex_0123456789abcdef" -O "https://mcp.planexe.org/download/2
223223

224224
Download report:
225225
```bash
226-
curl -H "X-API-Key: pex_0123456789abcdef" -O "https://mcp.planexe.org/download/2d57a448-1b09-45aa-ad37-e69891ff6ec7/030-report.html"
226+
curl -H "X-API-Key: pex_0123456789abcdef" -O "https://mcp.planexe.org/download/2d57a448-1b09-45aa-ad37-e69891ff6ec7/report.html"
227227
```
228228

229229
## Tool Catalog, `mcp_local`
@@ -248,7 +248,7 @@ Example call:
248248
- Save directory is `PLANEXE_PATH`, or current working directory if unset.
249249
- Non-existing directories are created automatically.
250250
- If `PLANEXE_PATH` points to a file, download fails.
251-
- Filename is prefixed with plan id (for example `<plan_id>-030-report.html`).
251+
- Filename is prefixed with plan id (for example `<plan_id>-report.html`).
252252
- Response includes `saved_path` with the exact local file location.
253253

254254
## Minimal error-handling contract

docs/mcp/planexe_mcp_interface.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -522,7 +522,7 @@ Use `plan_resume` when `plan_status` shows `failed` or `stopped` and plan genera
522522

523523
**Required semantics**
524524

525-
- The MCP tool only accepts plans in `failed` state. However, the underlying Luigi mechanism is more general: Luigi skips any task whose output file already exists and re-executes any task whose output file is missing. This means a completed plan can be partially re-run by deleting `999-pipeline_complete.txt` and the output files of the tasks you want to regenerate — Luigi will re-execute those tasks and all their downstream dependents. The MCP API does not yet expose this capability; it is available when running the pipeline locally via `run_plan_pipeline.py`.
525+
- The MCP tool only accepts plans in `failed` state. However, the underlying Luigi mechanism is more general: Luigi skips any task whose output file already exists and re-executes any task whose output file is missing. This means a completed plan can be partially re-run by deleting `pipeline_complete.txt` and the output files of the tasks you want to regenerate — Luigi will re-execute those tasks and all their downstream dependents. The MCP API does not yet expose this capability; it is available when running the pipeline locally via `run_plan_pipeline.py`.
526526
- On success, the same plan_id is reset to `pending` and requeued.
527527
- Prior artifacts are **preserved** — the worker restores the output directory from the stored zip snapshot.
528528
- `resume_count` tracks how many times the plan has been resumed.
@@ -577,7 +577,7 @@ Bump `PIPELINE_VERSION` whenever the pipeline changes in a way that would break
577577
- Save directory is `PLANEXE_PATH`.
578578
- If `PLANEXE_PATH` is unset, save to current working directory.
579579
- If `PLANEXE_PATH` points to a file (not a directory), return an error.
580-
- Filenames are `<plan_id>-030-report.html` or `<plan_id>-run.zip`.
580+
- Filenames are `<plan_id>-report.html` or `<plan_id>-run.zip`.
581581
- If a filename already exists, append `-1`, `-2`, ... before extension.
582582
- Successful responses include `saved_path`.
583583

docs/proposals/06-adopt-on-the-fly.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ This is a concrete implementation plan for making PlanExe's agent behavior adapt
66

77
PlanExe already has multiple "early classification" concepts and quality gates that we can build on:
88

9-
- **Purpose classification (business/personal/other)**: `worker_plan/worker_plan_internal/assume/identify_purpose.py` produces `002-6-identify_purpose.md` and is already used downstream (e.g., SWOT prompt selection).
9+
- **Purpose classification (business/personal/other)**: `worker_plan/worker_plan_internal/assume/identify_purpose.py` produces `identify_purpose.md` and is already used downstream (e.g., SWOT prompt selection).
1010

11-
- **Plan type classification (digital/physical)**: `worker_plan/worker_plan_internal/assume/identify_plan_type.py` produces `002-8-plan_type.md`. Note: it intentionally labels most software development as "physical" (because it assumes a physical workspace/devices).
11+
- **Plan type classification (digital/physical)**: `worker_plan/worker_plan_internal/assume/identify_plan_type.py` produces `plan_type.md`. Note: it intentionally labels most software development as "physical" (because it assumes a physical workspace/devices).
1212

1313
- **Levers pipeline**: `worker_plan/worker_plan_internal/lever/*` produces potential levers -> deduped -> enriched -> "vital few" -> scenarios/strategic decisions.
1414

docs/proposals/101-luigi-resume-enhancements.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,9 @@ Behavior:
8585
```
8686
$ planexe invalidate SelectScenarioTask --run-dir ./run/Qwen_Clean_v1
8787
Would delete:
88-
run/Qwen_Clean_v1/002-17-selected_scenario_raw.json
89-
run/Qwen_Clean_v1/002-18-selected_scenario.json
90-
run/Qwen_Clean_v1/002-19-scenarios.md
88+
run/Qwen_Clean_v1/selected_scenario_raw.json
89+
run/Qwen_Clean_v1/selected_scenario.json
90+
run/Qwen_Clean_v1/scenarios.md
9191
Proceed? [y/N]
9292
```
9393

@@ -101,7 +101,7 @@ Tonight we needed to re-run `SelectScenarioTask` after applying a fix. Without k
101101

102102
### The problem
103103

104-
The input plan (`001-2-plan.txt`) is locked in at run start. If a user wants to refine the plan description mid-run — clarify scope, correct a factual error, tighten the framing — there is no supported path. The only option is start a new run from scratch.
104+
The input plan (`plan.txt`) is locked in at run start. If a user wants to refine the plan description mid-run — clarify scope, correct a factual error, tighten the framing — there is no supported path. The only option is start a new run from scratch.
105105

106106
### What we want
107107

docs/proposals/107-domain-aware-normalizer.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -401,9 +401,9 @@ MakeAssumptions → [QuantifiedAssumptionExtractor] → [FermiSanityCheck] → [
401401

402402
The three new tasks (in brackets) are inserted between the existing MakeAssumptions and DistillAssumptions tasks. Each produces output files following PlanExe's standard naming convention:
403403

404-
- `003-12-fermi_sanity_check_report.json` — detailed per-assumption verdicts
405-
- `003-13-fermi_sanity_check_summary.md` — human-readable summary of findings
406-
- `003-14-normalized_assumptions.json` — all assumptions in standard representation
404+
- `fermi_sanity_check_report.json` — detailed per-assumption verdicts
405+
- `fermi_sanity_check_summary.md` — human-readable summary of findings
406+
- `normalized_assumptions.json` — all assumptions in standard representation
407407

408408
The FermiSanityCheck report includes a section on ethical flags, making it visible to both the downstream pipeline tasks and human reviewers.
409409

docs/proposals/112-end-to-end-test-plan.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ These tests exercise the MCP server, database, and worker interactions without i
2525

2626
**Variant — worker-side check:**
2727
1. Bypass the MCP-layer check (e.g. manually set `parameters["pipeline_version"]` to match current).
28-
2. But ensure the `001-3-planexe_metadata.json` in the zip snapshot has a different version.
28+
2. But ensure the `planexe_metadata.json` in the zip snapshot has a different version.
2929
3. Let the worker pick up the resumed plan.
3030
4. Assert: worker sets plan to failed with progress_message containing "Not resumable".
3131

@@ -87,7 +87,7 @@ These tests invoke real LLMs and are non-deterministic, slow (~10-20 min per pla
8787
4. Call `plan_file_info` with `artifact: "report"` — assert `download_url` is present.
8888
5. Call `plan_file_info` with `artifact: "zip"` — assert `download_url` is present.
8989
6. Download the report and verify it is valid HTML containing expected sections.
90-
7. Download the zip and verify `001-3-planexe_metadata.json` is present with correct `pipeline_version`.
90+
7. Download the zip and verify `planexe_metadata.json` is present with correct `pipeline_version`.
9191

9292
### 7. Resume after mid-generation failure
9393

docs/proposals/114-mcp-interface-feedback-stress-test.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ During the stress test, Plan 1 (20f1cfac) stalled at 5.5% with zero diagnostic i
6868
"state": "failed",
6969
"error": {
7070
"failure_reason": "generation_error",
71-
"failed_step": "016-expert_criticism",
71+
"failed_step": "expert_criticism",
7272
"message": "LLM provider returned 503",
7373
"recoverable": true
7474
}
@@ -248,7 +248,7 @@ This is a trust gap: the agent cannot confidently tell the user "your plan is re
248248
"sections_complete": 108,
249249
"sections_partial": 2,
250250
"partial_details": [
251-
{"step": "016-expert_criticism", "note": "2/8 experts provided feedback"}
251+
{"step": "expert_criticism", "note": "2/8 experts provided feedback"}
252252
]
253253
}
254254
```
@@ -507,7 +507,7 @@ No stale error information leaked between states.
507507

508508
### Files list ordering fix
509509

510-
The files list in `plan_status` now shows the most recent 10 files instead of the first 10. When the plan completed, the agent saw `029-2-self_audit.md`, `030-report.html`, `999-pipeline_complete.txt` etc. instead of the same early pipeline files every time. Much more useful for monitoring progress.
510+
The files list in `plan_status` now shows the most recent 10 files instead of the first 10. When the plan completed, the agent saw `self_audit.md`, `report.html`, `pipeline_complete.txt` etc. instead of the same early pipeline files every time. Much more useful for monitoring progress.
511511

512512
### Agent-server capability mismatch (systemic observation)
513513

docs/proposals/117-system-prompt-optimizer.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -303,10 +303,10 @@ populate_baseline.py # script to populate baseline from zip files
303303
baseline/ # current outputs (extracted from dataset zips)
304304
train/
305305
20260310_hong_kong_game/
306-
001-1-start_time.json
307-
001-2-plan.txt
306+
start_time.json
307+
plan.txt
308308
...
309-
030-report.html
309+
report.html
310310
20250329_gta_game/
311311
...
312312
20250321_silo/
@@ -338,8 +338,8 @@ history/ # captured output, global run coun
338338
outputs.jsonl
339339
outputs/
340340
20250321_silo/
341-
002-9-potential_levers_raw.json
342-
002-10-potential_levers.json
341+
potential_levers_raw.json
342+
potential_levers.json
343343
activity_overview.json
344344
usage_metrics.jsonl
345345
20260310_hong_kong_game/
@@ -382,7 +382,7 @@ scores/ # longitudinal tracking
382382
full_plan_comparisons/ # Stage 3 periodic full-plan regenerations
383383
2026-03-20/
384384
hong_kong_game/
385-
030-report.html
385+
report.html
386386
kpi_comparison.json
387387
```
388388

docs/proposals/133-dag-and-rca.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ Example:
8181

8282
{
8383
"id": "executive_summary_markdown",
84-
"path": "025-2-executive_summary.md",
84+
"path": "executive_summary.md",
8585
"format": "md",
8686
"role": "summary_markdown"
8787
}
@@ -132,7 +132,7 @@ A stronger format could allow fields like:
132132

133133
{
134134
"from_node": "executive_summary",
135-
"artifact_path": "025-2-executive_summary.md",
135+
"artifact_path": "executive_summary.md",
136136
"used_for": "decision-maker summary section"
137137
}
138138

@@ -143,7 +143,7 @@ How RCA can work with the current format
143143
Goal
144144

145145
The goal of RCA is to answer questions like:
146-
• Why is a false claim shown in 030-report.html?
146+
• Why is a false claim shown in report.html?
147147
• Which upstream artifact first contained it?
148148
• Which node likely introduced it?
149149
• Which source file should be inspected first?
@@ -153,7 +153,7 @@ Investigation strategy
153153
Step 1: Start from the final artifact
154154

155155
Begin with the final output artifact, such as:
156-
030-report.html
156+
• report.html
157157

158158
Find the node that produces it.
159159

@@ -210,15 +210,15 @@ Suppose the final report contains the false claim:
210210
The project requires 12 full-time engineers.
211211

212212
A practical investigation would look like this:
213-
1. search 030-report.html for the claim
213+
1. search report.html for the claim
214214
2. inspect the report node inputs
215-
3. search 025-2-executive_summary.md
216-
4. search 024-2-review_plan.md
217-
5. search 013-team.md
218-
6. if the claim appears in 013-team.md, inspect the team_markdown node
215+
3. search executive_summary.md
216+
4. search review_plan.md
217+
5. search team.md
218+
6. if the claim appears in team.md, inspect the team_markdown node
219219
7. inspect that node’s inputs:
220-
011-2-enrich_team_members_environment_info.json
221-
012-review_team_raw.json
220+
• enrich_team_members_environment_info.json
221+
• review_team_raw.json
222222
8. search those artifacts for the same claim or the numeric value
223223
9. continue upstream until the earliest occurrence is found
224224
10. inspect the producing node’s source_files
@@ -255,7 +255,7 @@ Example:
255255

256256
{
257257
"id": "review_plan_markdown",
258-
"path": "024-2-review_plan.md",
258+
"path": "review_plan.md",
259259
"format": "md",
260260
"role": "review_output"
261261
}
@@ -266,7 +266,7 @@ Example:
266266

267267
{
268268
"from_node": "review_plan",
269-
"artifact_path": "024-2-review_plan.md",
269+
"artifact_path": "review_plan.md",
270270
"used_for": "quality review section"
271271
}
272272

0 commit comments

Comments
 (0)