draftcat 0.9.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<p align="center"><b>Governed AI pipelines where the LLM can't fire actions — one Go binary, self-hosted, human-in-the-loop.</b></p>
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
8
|
-
<a href="https://github.com/renezander030/draftcat
|
|
8
|
+
<a href="https://github.com/renezander030/draftcat"><img src="https://img.shields.io/github/stars/renezander030/draftcat?style=flat-square" alt="Stars"></a>
|
|
9
9
|
<a href="LICENSE"><img src="https://img.shields.io/github/license/renezander030/draftcat?style=flat-square" alt="License"></a>
|
|
10
10
|
<img src="https://img.shields.io/badge/Go-1.25-00ADD8?style=flat-square&logo=go" alt="Go 1.25">
|
|
11
11
|
<a href="docs/voice.md"><img src="https://img.shields.io/badge/voice%20AI-EU%20residency%20%C2%B7%20Dograh-00D4AA?style=flat-square" alt="Voice AI plugin"></a>
|
|
@@ -164,7 +164,7 @@ cp secrets.yaml.example secrets.yaml
|
|
|
164
164
|
docker compose up
|
|
165
165
|
```
|
|
166
166
|
|
|
167
|
-
Pipelines live in `config.yaml`, prompts in `skills/`. A SQLite store opens at `./state.db` on first boot. To add the EU-resident **voice AI** plugin: `go build -tags voice -o draftcat .` — the lean binary is unchanged when the tag is off.
|
|
167
|
+
Pipelines live in `config.yaml`, prompts in `skills/`. Run `draftcat doctor` to check credentials, operators, the state store and schedules before the first start. A SQLite store opens at `./state.db` on first boot. To add the EU-resident **voice AI** plugin: `go build -tags voice -o draftcat .` — the lean binary is unchanged when the tag is off.
|
|
168
168
|
|
|
169
169
|
## Deploy — where it runs
|
|
170
170
|
|
|
@@ -282,6 +282,7 @@ budgets:
|
|
|
282
282
|
per_day_tokens: 100000
|
|
283
283
|
per_day_cost: 5.00 # money cap, same unit as your model rates (0 = off)
|
|
284
284
|
per_pipeline_cost: 0.50
|
|
285
|
+
alert_at: [0.5, 0.8] # tell the operator at 50% and 80% of a daily cap
|
|
285
286
|
|
|
286
287
|
observability: {spans: false} # or DRAFTCAT_TRACE=1
|
|
287
288
|
state: {path: ./state.db}
|
|
@@ -357,6 +358,8 @@ Skills are YAML prompt templates in `skills/` with an `output_schema` the engine
|
|
|
357
358
|
```bash
|
|
358
359
|
draftcat # run the engine (validates config first; refuses to start on errors)
|
|
359
360
|
draftcat validate [--strict] # lint config + skills
|
|
361
|
+
draftcat doctor [--json] # read-only preflight: credentials, operators, state, ports, schedules
|
|
362
|
+
kill -HUP <pid> # reload pipelines, budgets, policies and skills without a restart (or /reload)
|
|
360
363
|
draftcat test <pipeline> # dry-run against fixtures/<pipeline>/ (never touches real APIs)
|
|
361
364
|
draftcat runs [pipeline] # recent runs + the approval decisions in each (--json to archive)
|
|
362
365
|
draftcat pending # approval gates waiting on a human right now (--json)
|
|
@@ -387,7 +390,9 @@ Approval rows can be made tamper-evident with signed receipts, so a later audit
|
|
|
387
390
|
can verify which operator approved which payload hash. See
|
|
388
391
|
[`docs/action-receipts.md`](docs/action-receipts.md).
|
|
389
392
|
|
|
390
|
-
A pipeline's `schedule` decides when it runs — an interval (`1h`), `manual` (operator `/run` only), or `webhook`.
|
|
393
|
+
A pipeline's `schedule` decides when it runs — an interval (`1h`), a cron expression in the pipeline's time zone (`"0 8 * * 1-5"` with `timezone: Europe/Berlin`), `@daily`-style shortcuts, `manual` (operator `/run` only), or `webhook`. Schedules continue from the recorded run history across restarts, `pause_after_failures` stops a pipeline that keeps failing, and `SIGTERM` lets running pipelines finish within `timeouts.shutdown_grace`. See [running Draftcat unattended](docs/operations.md).
|
|
394
|
+
|
|
395
|
+
The `webhook` server is opt-in and opens no port unless enabled:
|
|
391
396
|
|
|
392
397
|
```yaml
|
|
393
398
|
webhook: {enabled: true, addr: 127.0.0.1:8088, secret_env: DRAFTCAT_WEBHOOK_SECRET}
|
|
@@ -437,7 +442,7 @@ The deterministic-boundary architecture is documented in the **Production AI Aut
|
|
|
437
442
|
- [#12 LLM Skills as YAML](https://gist.github.com/renezander030/a28f118dec07d275ccc825aa833aba92) — prompt + output_schema + role in versioned YAML, validated by a linter
|
|
438
443
|
- [#13 Inbound Agent Webhook Auth](https://gist.github.com/renezander030/26d46d4c7fb9ab1b43fe19bc5bad6d07) — constant-time bearer token, fail-closed on empty secret, async 202 dispatch
|
|
439
444
|
- [#14 Self-Improving Voice Agent](https://gist.github.com/renezander030/262d8b8c44b4cddf51b3b84c40f3f669) — harvest Learning-Items, group, propose a minimal workflow diff, two approval gates, git commit + auto-versioned Dograh publish
|
|
440
|
-
- [#15 AI Action Audit Trail](https://gist.github.com/renezander030/ad81c7a805a09a844983f881e2c487e5) —
|
|
445
|
+
- [#15 AI Action Audit Trail](https://gist.github.com/renezander030/ad81c7a805a09a844983f881e2c487e5) — versioned action-bound `action_approvals` receipts: who approved which payload, when; action-level receipt binding, expiry and fail-closed audit persistence
|
|
441
446
|
|
|
442
447
|
## Related projects
|
|
443
448
|
|