Thanks to visit codestin.com
Credit goes to github.com

Skip to content

feat: formation consolidation + headless mission mode#89

Merged
harrymunro merged 1 commit into
mainfrom
feat/formation-consolidation
Apr 10, 2026
Merged

feat: formation consolidation + headless mission mode#89
harrymunro merged 1 commit into
mainfrom
feat/formation-consolidation

Conversation

@harrymunro

Copy link
Copy Markdown
Collaborator

Summary

Implements #79 — consolidates the multi-step formation phase into composite commands.

  • nelson-data.py form — single command that registers tasks, records squadron, computes DAG metrics, and runs conflict scan. Replaces 4-8+ sequential Bash calls with one.
  • nelson-data.py headless — combines init + form, reads sailing orders and battle plan from JSON files. Enables CI/CD pipeline integration.
  • Extracted core logic from cmd_task, cmd_squadron, cmd_plan_approved into reusable functions (_build_task_record, _register_tasks, _register_squadron, _finalize_plan, _do_init). Existing commands are now thin wrappers — backward compatible.
  • Fixed conflict scan key mismatchnelson_conflict_scan.py now reads file_ownership (matching battle-plan.json) with files fallback.
  • Updated docsstructured-data.md documents new commands; SKILL.md Step 3 recommends form; Step 4 headless note updated.

Test plan

  • 15 new tests added (10 TestForm, 4 TestHeadless, 1 TestConflictScan)
  • All 91 tests pass (pytest skills/nelson/scripts/ -v)
  • All 66 original tests unchanged and passing (backward compatibility)
  • Manual smoke test: form with a real plan JSON
  • Manual smoke test: headless end-to-end
  • CI pipeline passes (markdown lint, YAML lint, link check, spell check, Python tests)

Consolidate the multi-step formation phase into a single `form` composite
command and add a `headless` subcommand for CI/CD integration. This reduces
formation from ~10 sequential Bash calls to 1-2.

New commands:
- `nelson-data.py form` — registers tasks, records squadron, computes DAG
  metrics, and runs conflict scan in one step
- `nelson-data.py headless` — combines init + form, reads sailing orders
  and battle plan from JSON files

Also:
- Extract core logic from cmd_task/cmd_squadron/cmd_plan_approved into
  reusable functions (_build_task_record, _register_tasks,
  _register_squadron, _finalize_plan, _do_init)
- Fix conflict scan file_ownership key mismatch (files → file_ownership)
- Add 15 new tests (10 for form, 4 for headless, 1 for conflict scan fix)

Closes #79
@harrymunro harrymunro added the enhancement New feature or request label Apr 9, 2026
@harrymunro harrymunro merged commit e0913b7 into main Apr 10, 2026
6 checks passed
@harrymunro harrymunro deleted the feat/formation-consolidation branch April 10, 2026 20:12
harrymunro added a commit that referenced this pull request Apr 10, 2026
Integrate six PRs merged to main since this branch diverged:
- PR #89: formation consolidation (form, headless commands)
- PR #90: path-scoped auto-discovery
- PR #91: typed handoff packet
- PR #92: hook enforcement layer
- PR #93: deterministic phase engine
- PR #96: task list visibility

Port new commands (form, headless, handoff, recover) into the
modular architecture. Add phase field support to lifecycle commands
for compatibility with the phase engine. All 234 tests pass.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant