Skip to content

Change names of NormAction#62

Merged
AnissL93 merged 7 commits into
mainfrom
fix_naming
May 27, 2026
Merged

Change names of NormAction#62
AnissL93 merged 7 commits into
mainfrom
fix_naming

Conversation

@AnissL93

Copy link
Copy Markdown
Collaborator
  • Channel -> source
  • Entity -> Parameter
  • source in UI -> decision_source

fix #61

AnissL93 and others added 3 commits May 25, 2026 22:32
…ss pipeline

NormAction's vendor-surface field is now `source` (was `channel`), and
the normalizer-extracted-field namespace is `parameter`/`parameters`
(was `entity`/`entities`). Touches every layer: types, DSL schemas,
packs, audit chain, UI labels, tests, and docs.

Highlights:
- File rename: `eval/entity.rs` → `eval/parameter.rs`
- Pack file renames: `_channel.yaml` → `_source.yaml` (gmail / outlook
  / template packs)
- Test fixes: pack_snapshot expected JSON reordered alphabetically;
  pack_integration switched test input from `entity.*` to `parameter.*`;
  cli_tests scaffold filename + `Channel:` substring assertion updated.
- UI relabel: dashboard audit table distinguishes `Source` (vendor)
  from `Decision Source` (origin of the decision); JS render now reads
  `r.decision_source` for the second column.
- Bootstrap LLM prompt + mock response retaught with the new key names.
- Docs: README, docs/taxonomy.md, docs/installation.md.
- Pack lockfile regenerated.

Note: existing Postgres deployments need a separate `channel` → `source`
column rename on `audit_entries` and `pending_approvals`. Not bundled.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Both `apply_calibration` and `await_ui_wait_approval` previously wrote
to policy_cache after a human verdict, so a one-time human approval
silently whitelisted the same norm_hash for the cache TTL. For high-risk
Medium+ tier actions this is the wrong default — every HITL-routed call
must re-prompt the reviewer.

Remove both post-resolution cache writes. The engine itself already
skips caching when permission is HITL (engine.rs:329); this matches that
policy at the post-resolution sites too.

Operational note: deployments with existing policy_cache rows should
TRUNCATE policy_cache so previously-approved norm_hashes don't keep
short-circuiting.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ings, packs, and clients

Completes the rename started in a16760f. The earlier commit covered the
Rust pipeline + UI; this one sweeps:

- OpenClaw TS integration: Decision interface + Permit0Client validator
  + 5 fixture JSONs + 6 test files. Splits the old `source` field into
  `source` (vendor surface) and `decision_source` (decision origin) to
  match CheckResponse exactly.
- Python client SDK: Decision dataclass, check_action/guard signatures,
  wire payload keys, and tests. Old `source` field becomes
  `decision_source` to avoid collision with the renamed vendor `source`.
  Breaking for SDK consumers: `channel=`→`source=`, `entities=`→`parameters=`.
- Bindings: permit0-node/index.d.ts NormAction shape; permit0-py test
  accessors (.channel → .source).
- Packs/docs: CLAUDE.md, gmail/outlook normalizer comments, _template
  normalizer + risk_rules, tests/shared README + fixture, corpora
  calibration comment, plus a stray comment in permit0-cli and
  permit0-dsl. pack.lock.yaml regenerated.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AnissL93 and others added 4 commits May 27, 2026 19:21
The rsa Marvin Attack advisory only reaches us through sqlx-mysql in
Cargo.lock. sqlx is built with default-features=false and the postgres
feature only, so the mysql driver never compiles — confirmed via
cargo tree -e normal. Matches the existing pattern for RUSTSEC-2026-0097.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@AnissL93 AnissL93 merged commit c213e05 into main May 27, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fix naming for action field

2 participants