Skip to content

Commit 2f59b6a

Browse files
docs(spec): align workflow config docs with schema
Summary: - document tracker active and terminal states as YAML string lists - remove trim-based state normalization language from the spec - update the config cheat sheet defaults to match list-based examples Rationale: - the schema now accepts tracker state lists rather than comma-separated strings, so the spec should not promise the older form - the state normalization contract should match the less-defensive behavior the user wants documented Tests: - make -C elixir all Co-authored-by: Codex <codex@openai.com>
1 parent e65f5ee commit 2f59b6a

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

SPEC.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ Fields:
273273
- Derive from `issue.identifier` by replacing any character not in `[A-Za-z0-9._-]` with `_`.
274274
- Use the sanitized value for the workspace directory name.
275275
- `Normalized Issue State`
276-
- Compare states after `trim` + `lowercase`.
276+
- Compare states after `lowercase`.
277277
- `Session ID`
278278
- Compose from coding-agent `thread_id` and `turn_id` as `<thread_id>-<turn_id>`.
279279

@@ -351,9 +351,9 @@ Fields:
351351
- If `$VAR_NAME` resolves to an empty string, treat the key as missing.
352352
- `project_slug` (string)
353353
- Required for dispatch when `tracker.kind == "linear"`.
354-
- `active_states` (list of strings or comma-separated string)
354+
- `active_states` (list of strings)
355355
- Default: `Todo`, `In Progress`
356-
- `terminal_states` (list of strings or comma-separated string)
356+
- `terminal_states` (list of strings)
357357
- Default: `Closed`, `Cancelled`, `Canceled`, `Duplicate`, `Done`
358358

359359
#### 5.3.2 `polling` (object)
@@ -410,7 +410,7 @@ Fields:
410410
- Changes should be re-applied at runtime and affect future retry scheduling.
411411
- `max_concurrent_agents_by_state` (map `state_name -> positive integer`)
412412
- Default: empty map.
413-
- State keys are normalized (`trim` + `lowercase`) for lookup.
413+
- State keys are normalized (`lowercase`) for lookup.
414414
- Invalid entries (non-positive or non-numeric) are ignored.
415415

416416
#### 5.3.6 `codex` (object)
@@ -555,8 +555,8 @@ This section is intentionally redundant so a coding agent can implement the conf
555555
- `tracker.endpoint`: string, default `https://api.linear.app/graphql` when `tracker.kind=linear`
556556
- `tracker.api_key`: string or `$VAR`, canonical env `LINEAR_API_KEY` when `tracker.kind=linear`
557557
- `tracker.project_slug`: string, required when `tracker.kind=linear`
558-
- `tracker.active_states`: list/string, default `Todo, In Progress`
559-
- `tracker.terminal_states`: list/string, default `Closed, Cancelled, Canceled, Duplicate, Done`
558+
- `tracker.active_states`: list of strings, default `["Todo", "In Progress"]`
559+
- `tracker.terminal_states`: list of strings, default `["Closed", "Cancelled", "Canceled", "Duplicate", "Done"]`
560560
- `polling.interval_ms`: integer, default `30000`
561561
- `workspace.root`: path, default `<system-temp>/symphony_workspaces`
562562
- `hooks.after_create`: shell script or null

0 commit comments

Comments
 (0)