Wira Delta Indonesia

Daily Operations

Autonomous Daily Operations

Once the architecture is in place, everyday work runs as a daily rhythm through four skills you type inside your agent. This is the daily tier of WDI Method.

The Daily Tier Sequence

Daily work follows four steps:

[Hand-Test Notes / Bug Reports]
            │
            ▼  1. /wdi-daily-what-to-build
[Spec and tickets on the development branch, reviewed]
            │
            ▼  2. /wdi-daily-autopilot
[Mandate accepted (preflight if there is none),
 loop on branch autopilot/<mandate-id>,
 one PR ready for review]
            │
            │  The owner merges.
            ▼  3. /wdi-daily-what-to-test
[Hand-test checklist from the closed tickets]
            │
            ▼  4. /wdi-prune-or-archive
[Closed specs archived or pruned]

Skill 1: /wdi-daily-what-to-build

Turns hand-testing notes, QA observations, or bug reports into a reviewed spec or ticket on the development branch, for a later autopilot run:

/wdi-daily-what-to-build [reviewer] [--no-review] <notes>
  • Keeps your notes as written, then checks them against what is already promised and built.
  • Writes the spec or ticket through wdi-build's engines, to-spec and to-tickets.
  • Sends the draft to a read-only reviewer for a second opinion before code is written; --no-review skips it.
  • Stops. It never commits, pushes, or starts the autopilot.

Skill 2: /wdi-daily-autopilot

Checks for an accepted mandate, resolves reviewers from local config, and starts the loop:

/wdi-daily-autopilot [self-review] [peer] [interval] [--skip-peer-review | --no-review]
  • Runs the preflight if there is no accepted mandate yet; the loop starts only under one you accepted.
  • Starts the loop every 10 minutes by default (/loop 10m /wdi-autopilot).
  • The loop runs on its own branch, autopilot/<mandate-id>, in an isolated worktree or in a clean checkout used only by that run. It never runs on a shared or dirty checkout.
  • The coordinating session writes the code itself, test-first, and records every decision in its ledger, .control/memlog/autopilot-<mandate-id>.md.
  • The run ends with one PR ready for review. The owner merges.

Skill 3: /wdi-daily-what-to-test

After a merge, prepares the next round of hand-testing:

/wdi-daily-what-to-test [web <target> | mobile <target> | desktop]
  • Syncs the development branch with a fast-forward pull.
  • Deletes local task branches already merged into the development branch, and their worktrees when clean. It deletes a remote branch only when the merge is confirmed, and never deletes the primary or development branch.
  • With the desktop target, it checks whether the app binary is still running before it rebuilds. It closes the app only if its own previous smoke run started it; otherwise it reports the PID and stops, so you can close it yourself. It never force-kills a process.
  • Builds a checklist from the tickets closed since the last sync (before_sync..HEAD). With no argument it only syncs, prunes, and builds the checklist.

Skill 4: /wdi-prune-or-archive

Retires closed specs through lifecycle.py, which checks first and rolls back on failure:

/wdi-prune-or-archive [--spec <id> | --all-closed] [--archive | --prune] [--dry-run]
  • --archive: moves closed specs from .scratch/ into .archive/specs/.
  • --prune: removes them with git rm.
  • Either way, the spec row stays in specs.yaml. Only specs with status closed qualify. With no argument, the skill asks which specs to handle.