Files
stack/packages/tasks/src/index.mjs
T
jason.woltjeandClaude Opus 5.5 6c42344d9d tasks, webui: the task field-writer table as data (#1550)
Row 61. packages/tasks/fields.json holds the slice 1 field table in two
layers (decision 113): each broker task verb's writer check, and each
field's writing verbs and Vikunja calls. packages/tasks/src/fields.mjs
checks the shape as code and loads it frozen. The tasks test reads the
writer layer from the table and authority from roles/*.json and drives
every task verb against the fake Vikunja. The Console serves the table
at GET /api/task-fields, and the task page shows a "Who may write"
section. The slice 1 doc's field table points to the file.

Darkwing's round 1, candidate manifest 33b96986, base 4f8ac1e7. Approved
by Dewey (27776) and Filbert (27785). Sage's gate green 18:57:31Z to
19:01:58Z.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-12 14:02:56 -05:00

8 lines
463 B
JavaScript

export { tasksAdapter, TIMEOUT } from './adapter.mjs';
export { startup, TESTED_VERSION, BUCKETS, MISSING } from './startup.mjs';
export { tick, reconcile, WINDOW_MS } from './sync.mjs';
export { verbs } from './verbs.mjs';
export { client, apiRoot, outcome, refusal } from './vikunja.mjs';
export { ref, parseRef, taskFields, digest, tombstone } from './digest.mjs';
export { loadFields, checkFields, FieldTableError, FIELDS_FILE, WRITERS } from './fields.mjs';