Files changed: - .gitea/workflows/ci.yml - .gitignore - .vibe/hooks.toml - AGENTS.md - CHANGES.md - EVALS.md - INSTALL-MCP.md - INSTALL.md - README.md - VERSION - docs/dev/development.md - docs/explanation/README.md - docs/explanation/architecture.md - docs/explanation/language-boundaries.md - docs/explanation/telemetry-and-evaluation.md - docs/how-to/README.md - docs/how-to/browse-with-obsidian.md - docs/how-to/capture-repository-docs.md - docs/how-to/export-guidelines.md - docs/how-to/ingest-a-source.md - docs/how-to/maintain-the-wiki.md - docs/how-to/query-the-wiki.md - docs/how-to/run-the-weekly-review.md - docs/how-to/set-up-the-mcp-server.md - docs/how-to/trace-and-score-sessions.md - docs/how-to/troubleshoot.md - docs/how-to/update-an-instance.md - docs/reference/README.md - docs/reference/commands/distribution-and-versioning.md - docs/reference/commands/instance-health.md - docs/reference/commands/raw-material-and-uploads.md - docs/reference/commands/telemetry.md - docs/reference/commands/types-instructions-and-docs.md - docs/reference/configuration.md - instructions/dev/dev-setup.md - instructions/dev/doc-pull-through.md - instructions/dev/stack-build/SKILL.md - instructions/dev/testing-conventions.md - instructions/dev/version-parts.md - instructions/setup-instance.md - instructions/upgrade-instance.md - reports/CONTRACT.md - tools/.coveragerc - tools/CONTRACT.md - tools/README.md - tools/chemenu/commands/dist_cmd.py - tools/chemenu/commands/docs_verify.py - tools/chemenu/commands/doctor.py - tools/chemenu/commands/eval_cmd.py - tools/chemenu/commands/git_publish.py - tools/chemenu/commands/upload_cmd.py - tools/chemenu/commands/version_cmd.py - tools/chemenu/evals/__init__.py - tools/chemenu/evals/scorecard.py - tools/chemenu/evals/trajectory.py - tools/chemenu/telemetry/policy.py - tools/chemenu/tests/test_dist_cmd.py - tools/chemenu/tests/test_git_publish.py - tools/chemenu/tests/test_instructions_shell.py - tools/chemenu/tests/test_pipeline_l0.py - tools/chemenu/toc.py Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
40 lines
1.7 KiB
TOML
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 docs/how-to/trace-and-score-sessions.md
|
|
# (from the repository root) 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-hook --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-hook --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-hook --source mistral-vibe --event turn.end 2>/dev/null || true"
|
|
timeout = 5.0
|