Files
chemenu/.vibe/hooks.toml
T
torben 18ae28f918
CI / verify (push) Failing after 32s
Release / release (push) Successful in 38s
Chemenu 2.1.0 - deterministischer Wissenskompiler
Chemenu kompiliert Rohnotizen zu einem verlinkten, quellengebundenen Wiki:
raw/ -> types/ + tools/ -> kb/ -> reports/. Was mechanisch ist, macht
tools/wikitool; was Urteil braucht, macht ein Agent unter Contracts, deren
Grenzen in Code durchgesetzt sind statt im Prompt.

Dieser Commit ist der Startpunkt der oeffentlichen Historie. Die vorherige
Entwicklung fand in einer privaten Instanz statt und ist nicht Teil dieses
Repositorys; ihre Erzaehlung steht vollstaendig in CHANGES.md, das mit 44
Eintraegen von 0.1.0 bis 2.1.0 erhalten geblieben ist.

Der mitgelieferte Korpus ist ein Testbett und eine Demo: 170 Seiten ueber den
Stack selbst - Gates, Lint, Versionierung, Suche, das Wiki-Muster. Er
dokumentiert das Werkzeug mit den eigenen Mitteln des Werkzeugs.

Lizenz: AGPL-3.0 fuer den Stack (tools/, types/), CC-BY-4.0 fuer die Inhalte.
Die Grenze zwischen beiden ist der Dateiplan, den dist export berechnet -
siehe NOTICE.
2026-09-01 16:26:14 +02:00

40 lines
1.7 KiB
TOML

# Session tracing for Mistral Vibe Code.
#
# Verified against mistral-vibe 2.24.2 (vibe/core/hooks/models.py): the file is
# an array of `[[hooks]]` tables, each with a unique `name`, a `type` of
# pre_tool | post_tool | post_agent, and a `command` run through a shell with
# the invocation JSON on stdin.
#
# Vibe loads this file only for a trusted folder. See ../EVALS.md for what the
# three events can and cannot say - there is no session, prompt, compaction or
# permission hook to attach to, so a Vibe trace is thinner than a Copilot one
# and says so in its own `completeness` list.
[[hooks]]
name = "wiki-trace-pre-tool"
type = "pre_tool"
description = "Record an intended tool call. Observational only - never decides."
command = "./tools/trace_ingest.py --source mistral-vibe --event tool.pre 2>/dev/null || true"
timeout = 5.0
# `strict = false` is the default and is spelled out here because it is the
# safety property that matters: under a non-strict hook, a crash or a timeout is
# a no-op warning, so a broken observer can never deny a tool call. Set it to
# true only for a hook that is meant to enforce something.
strict = false
[[hooks]]
name = "wiki-trace-post-tool"
type = "post_tool"
description = "Record the outcome of a tool call: status, output, duration."
command = "./tools/trace_ingest.py --source mistral-vibe --event tool.post 2>/dev/null || true"
timeout = 5.0
strict = false
# `strict` and `match` are rejected on post_agent - they are tool-hook fields.
[[hooks]]
name = "wiki-trace-post-agent"
type = "post_agent"
description = "Record the end of an agent turn."
command = "./tools/trace_ingest.py --source mistral-vibe --event turn.end 2>/dev/null || true"
timeout = 5.0