You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Runs tickets from a `planfile.yaml` strategy, with optional pre-flight freshness validation and stale-ticket pruning.
449
+
450
+
```bash
451
+
# Default run (markdown output, pre-flight ON, cancel stale ON)
452
+
llx plan run .
453
+
454
+
# Dry-run with YAML output
455
+
llx plan run . --dry-run --format yaml
456
+
457
+
# Skip pre-flight validation
458
+
llx plan run . --no-validate
459
+
460
+
# Mark stale as canceled but do not delete them
461
+
llx plan run . --cancel-stale --no-prune-stale
462
+
463
+
# Physically delete stale tickets before execution
464
+
llx plan run . --prune-stale --backup
465
+
466
+
# Limit tickets processed
467
+
llx plan run . --max-tasks 10
468
+
```
469
+
470
+
**Pre-flight behaviour** (default `--validate`):
471
+
1.`prefact` scans the codebase.
472
+
2. Tickets whose anchored file/line no longer match are flagged `stale`.
473
+
3. By default `--cancel-stale` marks them `canceled` in `planfile.yaml`.
474
+
4. If `--prune-stale` is passed, they are physically removed (with `.bak.<ts>` backup).
475
+
5. Stale tickets are skipped from LLM execution.
476
+
477
+
**Output formats:**
478
+
-`markdown` (default) — human-readable summary + compact YAML payload in fenced code block. Long fields such as `response` are truncated to ~240 chars; use `--format yaml` for full data.
479
+
-`yaml` — raw structured payload on STDOUT.
480
+
481
+
### `llx plan validate` — Ticket Freshness Check
482
+
483
+
Standalone pre-flight without executing LLM tasks.
484
+
485
+
```bash
486
+
# Markdown report
487
+
llx plan validate .
488
+
489
+
# YAML report, fail if stale tickets found
490
+
llx plan validate . --format yaml --fail-on-stale
491
+
492
+
# Also prune stale and unknown tickets
493
+
llx plan validate . --prune-stale --prune-unknown --backup
494
+
```
495
+
496
+
### `llx plan clean` — Remove Resolved Tickets
497
+
498
+
Physically deletes tickets with selected statuses from `planfile.yaml` and strips corresponding lines from `TODO.md`.
499
+
500
+
```bash
501
+
# Remove canceled tickets (default)
502
+
llx plan clean .
503
+
504
+
# Also remove done tickets
505
+
llx plan clean . --include-done
506
+
507
+
# Dry-run to preview changes
508
+
llx plan clean . --dry-run
509
+
510
+
# Skip TODO.md sync
511
+
llx plan clean . --no-todo-sync
512
+
```
513
+
514
+
### `llx plan testql` — TestQL Scenario Bridge
515
+
516
+
Validates a TestQL scenario, generates tickets for failures, and syncs them to TODO.md and configured integrations.
517
+
518
+
```bash
519
+
llx plan testql testql-scenarios/api-smoke.testql.toon.yaml
520
+
```
521
+
522
+
See [TESTQL_INTEGRATION.md](TESTQL_INTEGRATION.md) for full details.
523
+
524
+
### `llx run [WORKFLOW]` — Workflow Engine
525
+
526
+
Executes ordered step pipelines defined in `llx.yaml`.
- Uses GitLab-native labels; priority mapped to `priority::{value}`.
625
+
- Metadata appended as Markdown section in issue description.
626
+
627
+
### Jira
628
+
629
+
```bash
630
+
# planfile.yaml snippet
631
+
integration: ["jira"]
632
+
sync:
633
+
jira:
634
+
key: "PROJ-123"
635
+
url: "https://jira.example.com/browse/PROJ-123"
636
+
```
637
+
638
+
- Jira transitions mapped from planfile status.
639
+
- Priority mapped to Jira standard levels (`Highest` … `Lowest`).
640
+
641
+
### Identity-Aware Sync
642
+
643
+
When syncing, the system attempts **update-first** by integration reference (`id`, URL, or key) before creating a new remote ticket. Resolved references are written back into `ticket.sync` and `ticket.external_refs` to prevent duplicates.
0 commit comments