Skip to content

G · Tactics library — save/reuse typed tactics#74

Closed
pskeshu wants to merge 7 commits into
feature/operations-tabfrom
feature/tactics-library
Closed

G · Tactics library — save/reuse typed tactics#74
pskeshu wants to merge 7 commits into
feature/operations-tabfrom
feature/tactics-library

Conversation

@pskeshu

@pskeshu pskeshu commented Jun 29, 2026

Copy link
Copy Markdown
Collaborator

Sub-project G (replaces #67, recovering CI). Save / list / apply reusable typed tactics on D's substrate; apply→Operation Plan. Whole-branch reviewed; ~64 tests; ruff+format clean. Stacked on feature/operations-tab.

pskeshu added 7 commits June 28, 2026 19:42
Add save_tactic/list_tactics/get_tactic/apply_tactic to FileContextStore,
mirroring the plan-template pattern. Templates live at
agent/tactic_library/{id}_{slug}.yaml; apply returns a fresh planned
tactic (new id, state=planned, no live). Fires CONTEXT_UPDATED.
33 TDD tests, all passing.
Three @tool functions (ToolCategory.EXPERIMENT) over FileContextStore's
tactic library: save_tactic persists a tactic dict as a reusable template,
list_tactics returns a readable id/name/kind summary, apply_tactic
instantiates a fresh planned tactic and appends it to the session's
Operation Plan (creating a minimal plan if none exists). Store + session
resolution mirrors declare_operation_plan. Registered in tools/__init__.py.
TDD: 21 tests, all green.
Add read endpoint that returns the saved tactic library from
FileContextStore. Returns {"tactics": []} when the store is absent,
list_tactics() raises, or the library is empty — never a 500.
…terministic name lookup

- Add TestScopeRoundTrip: asserts scope survives save→apply, and absent scope stays absent
- Preserve rationale as its own key in save_tactic (alongside description); add TestRationalePreservation
- Rewrite get_tactic to scan list_tactics() (newest-first) instead of iterdir(); add TestGetTacticDeterministic with name-collision case
@pskeshu

pskeshu commented Jul 1, 2026

Copy link
Copy Markdown
Collaborator Author

Superseded by #72 — the temperature + Operations/tactics suite and the new Operate (bottom-cam→SPIM) surface are consolidated onto feature/temperature-operations-all (now targeting development). This increment's work is included there; its feature branch was deleted. Closing to keep a single main PR.

@pskeshu pskeshu closed this Jul 1, 2026
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.

1 participant