Wiki standup briefs — runbook¶
Operational procedures for wikitoolkit standup (FEAT-627). The command
reference covers options, sections, identity, configuration and the MCP tool:
see docs/wiki/standup.md. Run every command inside an
activated virtual environment.
Generate a brief¶
wikitoolkit standup # daily: stores the page and writes the file
wikitoolkit standup --period week # weekly
wikitoolkit standup --period month --language es # monthly, in Spanish
wikitoolkit standup --no-store --no-file # read-only: print only
wikitoolkit standup --no-store --no-file --json # read-only, JSON output
wikitoolkit standup --team # everyone's items
wikitoolkit standup --me human:jlara # a specific identity (full form)
wikitoolkit standup --out ./standups # --out is a DIRECTORY
The file is written as <out>/brief-daily-YYYY-MM-DD.md, or
brief-weekly-… or brief-monthly-… for the other periods. Without --out,
the directory is standup.out_dir, else ${PARROT_HOME:-~/.parrot}/wikis/briefs.
Schedule¶
Run the brief after the daily Jira sweep, so the issues namespace is
current. A cron example:
# Daily brief at 07:00 UTC, Monday–Friday
0 7 * * 1-5 cd /PATH/TO/PROJECT && /PATH/TO/.venv/bin/wikitoolkit standup --period day --out /var/lib/standups >> /var/log/standup.log 2>&1
# Weekly brief on Monday at 07:05 UTC
5 7 * * 1 cd /PATH/TO/PROJECT && /PATH/TO/.venv/bin/wikitoolkit standup --period week --out /var/lib/standups >> /var/log/standup.log 2>&1
Replace /PATH/TO/PROJECT and /PATH/TO/.venv with deployment-specific
paths. Do not put a date in --out, because the command names the file itself.
To keep the brief stable and deterministic in cron, set the model explicitly
with WIKI_LIGHTWEIGHT_MODEL=provider:model. Alternatively, pass --no-llm
and set PARROT_NO_AUTO_LLM=1, so the run neither auto-detects a
coding-agent CLI nor calls a model.
Failure behaviour¶
- A failing source (Jira, ledger, tasks, …) and a failing page or file write are both recorded under Diagnostics. The command still exits 0, so check the Diagnostics section, not only the exit code.
- The page and the file are written independently: one can succeed while the other fails. The next successful run overwrites both for the same brief id.
- When the model summary fails, the brief is still rendered and stored with
the deterministic fallback bullets. The Hygiene
LLM:line says why. - Exit code 1 means no project was found, the wiki is not built, the
--storedirectory is missing, or the config is invalid. Exit code 2 is a usage error, for example--teamcombined with--me.
Back-fill attributes on an existing plane¶
Briefs read the meeting, decision and deliverable attributes of pages. A plane built before attributes existed needs a reindex:
wikitoolkit entity reindex --dry-run # counts only
wikitoolkit entity reindex # rewrite attributes (SQLite backend)
wikitoolkit entity reindex --store <storage-dir>
--storeis the storage directory itself. Careful: a missing directory is created, so a typo produces an empty plane instead of an error.- Reindex skips
authoredandmemorypages and never modifies page bodies. - Metadata that was dropped at ingest time cannot be recovered by a reindex. Re-ingest the source instead.
Troubleshooting¶
| Symptom | Cause / fix |
|---|---|
| "On your plate" is empty but you own items | Owners are compared verbatim. Use --me human:<user>, or set standup.me.wiki and standup.me.aliases in .parrot/wiki.json. A configured standup.me.wiki takes precedence over --me. |
| No Jira tickets in the brief | The Jira identity has not been resolved. Set standup.me.jira_account_id, or run one writing brief so the live lookup fills ${PARROT_HOME}/jira_identity.json. Read-only runs never contact Jira. |
| "Wiki not built yet" | Run wikitoolkit build first. Only the arangodb backend skips this check. |
| "Since last brief" is always empty | No earlier brief of the same period was stored, for example because runs used --no-store. |
| Hygiene lists unmapped statuses | Add them to standup.ticket_status_map, mapping each to open, in-progress, blocked, in-review or closed. |
LLM: skipped: no model |
Set WIKI_LIGHTWEIGHT_MODEL, or the variable named in standup.llm_env. |