Add write_envelope tool with verify_envelope for explicit envelope creation
- New crates/g3-core/src/tools/envelope.rs with execute_write_envelope()
and verify_envelope() (moved from shadow_datalog_verify in plan.rs)
- write_envelope accepts YAML facts, writes envelope.yaml to session dir,
then runs datalog verification against analysis/rulespec.yaml in shadow mode
- plan_verify() now only checks envelope existence (no longer runs datalog)
- Tool count: 13 -> 14
- Updated system prompt to instruct agents to call write_envelope before
marking last plan item done
- Updated integration tests to use write_envelope tool directly
Workflow: write_envelope -> verify_envelope -> datalog shadow artifacts
plan_write(done) -> plan_verify -> checks envelope exists
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
# Workspace Memory
|
||||
> Updated: 2026-02-06T04:29:34Z | Size: 21.0k chars
|
||||
> Updated: 2026-02-06T05:06:29Z | Size: 22.0k chars
|
||||
|
||||
### Remember Tool Wiring
|
||||
- `crates/g3-core/src/tools/memory.rs` [0..5000] - `execute_remember()`, `get_memory_path()`, `merge_memory()`
|
||||
@@ -373,4 +373,18 @@ Makes tool output responsive to terminal width - no line wrapping, with 4-char r
|
||||
- `shadow_datalog_verify()` now compiles rulespec on-the-fly at verify time, writes `rulespec.compiled.dl` and `datalog_evaluation.txt` to session dir
|
||||
- `plan_write` tool no longer accepts `rulespec` parameter
|
||||
- `plan_approve` no longer compiles rulespec
|
||||
- `format_verification_results()` now takes `working_dir: Option<&Path>` as third parameter
|
||||
- `format_verification_results()` now takes `working_dir: Option<&Path>` as third parameter
|
||||
|
||||
### Write Envelope Tool
|
||||
- `crates/g3-core/src/tools/envelope.rs` [0..184]
|
||||
- `execute_write_envelope()` [37..79] - parses YAML facts, writes envelope.yaml, calls verify_envelope()
|
||||
- `verify_envelope()` [93..183] - compiles rulespec, extracts facts, runs datalog, writes .dl + evaluation artifacts (shadow mode)
|
||||
- `crates/g3-core/src/tools/mod.rs` [16] - `pub mod envelope;`
|
||||
- `crates/g3-core/src/tool_definitions.rs` [266..282] - write_envelope tool definition (facts parameter)
|
||||
- `crates/g3-core/src/tool_dispatch.rs` [41..43] - write_envelope dispatch case
|
||||
- `prompts/system/native.md` [78..100] - Action Envelope section references write_envelope tool
|
||||
- Tool count: 14 (was 13)
|
||||
|
||||
**Workflow change**: `write_envelope` → `verify_envelope()` → datalog shadow, then `plan_write(done)` → `plan_verify()` → checks envelope exists
|
||||
- `shadow_datalog_verify()` removed from `plan.rs`
|
||||
- `format_verification_results()` no longer runs datalog, only checks envelope existence
|
||||
Reference in New Issue
Block a user