Skip to content

History / JACAL Example 9 AI Agent Tool Invocation

Revisions

  • Fix policy JSON schema violations; strip redundant DataType from AttributeDesignators JACAL-Combining-Algorithms.md: - Rewrite "Policy with deny-unless-permit" example to correct schema: - "Rules" array → "CombinerInput" with {"Rule": {...}} items - "RuleId" → "Id" (LocalIdentifierType, short name form) - "RuleEffect" → "Effect" - Bare "FunctionId"/"Arguments" in Condition → {"Apply": {"FunctionId": ..., "Expression": [...]}} at all levels - {"AttributeValue": {"DataType": ..., "Value": ...}} → plain {"Value": ...} - ":datatype:string" → ":data-type:string" - ":category:access-subject" → ":subject-category:access-subject" - ":category:resource" → ":attribute-category:resource" JACAL-Attribute-Sourcing.md: - Rewrite Section 4 illustrative Condition snippet to correct schema: - Bare "FunctionId"/"Arguments" → {"Apply": {"FunctionId": ..., "Expression": [...]}} - {"AttributeValue": ...} → plain {"Value": 10000} - ":datatype:integer" → ":data-type:integer" (unused after DataType removal) - ":category:access-subject" → ":subject-category:access-subject" - Fix function: string-equal on integer attribute → integer-greater-than-or-equal All JACAL-Example-*.md, JACAL-Short-ID-Expression.md, JACAL-Authoring-Your-First-Policy.md, JACAL-Common-Mistakes.md, JACAL-Policy-Authoring-Patterns-and-Pitfalls.md: - Remove "DataType" from all AttributeDesignator objects throughout all policy JSON blocks. Per ACAL §7.15 (ApplyType) the DataType inference rule allows omission when the parent function's signature has a fixed parameter type — which is the case for every function used in these examples (string-equal, integer-greater-than-or-equal, boolean-equal, and, or). When not inside an Apply, DataType defaults to string per §7.17/7.18, which is correct for the remaining cases. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

    @humantypo humantypo committed Mar 14, 2026
  • Convert pandoc tables and bullets to GFM in all 10 example files Tables: - Replace pandoc simple tables (header + dash separator, no borders) with GFM pipe tables - Replace pandoc grid tables (bordered with all-dash lines) with GFM pipe tables; multi-line cells are joined into single-line cell values - Applies to all Subject/Action/Resource/Environment attribute tables throughout all 10 examples Bullets: - Replace • text\ format (bullet char + backslash line-break) with standard markdown - list items - Handles wrapped bullets where continuation appears on next line Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

    @humantypo humantypo committed Mar 13, 2026
  • First draft of JACAL Practical Guide

    @humantypo humantypo committed Mar 12, 2026