Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
eb22edc
fix: preserve playbook gateway context and reject incomplete outputs
Oct 25, 2026
1d07a82
test: qualify solution graphs with frozen local adversarial evidence
Oct 25, 2026
1a23540
fix: distinguish finance liabilities cash and approval evidence
Oct 25, 2026
8d5e72f
fix: enforce runtime guards and isolate blocked outputs
Oct 25, 2026
bac87ee
test: preserve separate Gemma graph evidence and exact source snapshots
Oct 25, 2026
8ad7527
Merge remote-tracking branch 'origin/main' into codex/solution-playbo…
Oct 25, 2026
63ae9ce
fix: keep each compiled workflow focused on its current host step
Oct 25, 2026
5f8093b
fix: distinguish approval subjects and preserve failed graph regressions
Oct 25, 2026
305b78f
fix: bind solution evaluation and imports to portable runtime artifacts
Oct 25, 2026
9cc34c1
fix: preserve source-derived finance balances in packaged workflows
Oct 25, 2026
85d6821
fix: enforce pinned local model contracts in packaged playbooks
Oct 25, 2026
1f0c2fd
fix: bind conditional cash scenarios and drain evaluation requests sa…
Oct 25, 2026
99496ab
fix: retain original monetary source references and support boundary …
Oct 25, 2026
866348e
fix: retain advisory source evidence for missing ledger statements
Oct 25, 2026
0b9c7c0
fix: prepare finance closures with typed source state and explicit hu…
Oct 25, 2026
21d6e9c
fix: preserve source failure evidence and reject ambiguous consent flags
Oct 25, 2026
370bc19
fix: drain complete CLI output and reject zero-exit malformed results
Oct 25, 2026
9bf0643
Merge remote-tracking branch 'origin/main' into codex/solution-playbo…
Oct 25, 2026
c2b5f33
fix: respond safely to quarantined finance attachments without granti…
Oct 25, 2026
a749fbc
chore: automate source-bound playbook expectation diagnostics
Oct 25, 2026
7d7b392
docs: record real finance safety checkpoint and remaining graph failures
Oct 25, 2026
b0071fa
fix: calculate source-interpreted supplier costs before local generation
Oct 25, 2026
9095b97
fix: preserve supplier field citations and distinct stage deliverables
Oct 25, 2026
7f1ddbd
chore: diagnose supplier facts and actual variable graph stages
Oct 25, 2026
756864a
fix: bind supplier preparation to typed source state and buyer review
Oct 25, 2026
d58e403
chore: automate private finite solution evaluation startup
Oct 25, 2026
614f37b
docs: record source-state progress and secure-launch blocking failures
Oct 25, 2026
0e1ca83
fix: quarantine workflow annotations and preserve explicit release ev…
Oct 25, 2026
8762b0b
fix: qualify separate Qwen graph runtime with fail-closed release policy
Oct 25, 2026
5c0f8bc
fix: enforce text-only Qwen transport and portable archive paths
Oct 25, 2026
2ebe420
fix: preserve workflow objective through generated solution stages
Oct 25, 2026
fe94942
fix: distinguish supplier offers from enclosing source documents
Oct 25, 2026
0d23ce0
fix: preserve source negation and require literal attribution evidence
Oct 25, 2026
97d13b8
feat: implement source-bound security preparation tools without execu…
Oct 25, 2026
f740ea5
feat: integrate source-bound security graph and strict runtime qualif…
Oct 25, 2026
6410401
fix: ground ledger amount selection in exact historical record fragments
Oct 25, 2026
949b9c9
docs: retain rejected amount run and role-first finance diagnostic
Oct 25, 2026
32bab01
fix: interpret finance record roles before dependent field extraction
Oct 25, 2026
036b944
docs: retain source-state passes and rejected Brazil graph evidence
Oct 25, 2026
fd78375
feat: implement source-bound Brazil reconciliation and bounded XML re…
Oct 25, 2026
d76e3a9
fix: reject unparsed XML documents outside invoice roots
Oct 25, 2026
9f1c26c
feat: integrate Brazil reconciliation with exact source-state evidence
Oct 25, 2026
4a60cf5
fix: prevent product references from becoming reconciliation orders
Oct 25, 2026
1eaeb97
fix: bind solution evaluation protocol to packaged runtime profile
Oct 25, 2026
5e5763d
fix: distinguish payment record identities from export and product re…
Oct 25, 2026
1f872c4
fix: expose source-bound solution compatibility and verify published …
Oct 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions .agents/skills/validate-sas-release/SKILL.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#!/usr/bin/env python3
"""Run the existing finite evaluator with the existing private Keychain helper. No retries or approvals."""
import argparse
import datetime
import importlib.util
import json
import os
from pathlib import Path
import subprocess
import sys

parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument('--evidence', required=True)
parser.add_argument('--max-cases', required=True, type=int)
parser.add_argument('--log', required=True)
parser.add_argument('--receipt', required=True)
parser.add_argument('--key-helper', default=str(Path.home() / '.codex/skills/jev-codex/scripts/jev.py'))
args = parser.parse_args()
root = Path(__file__).resolve().parents[4]
paths = [Path(p).resolve() for p in (args.evidence, args.log, args.receipt)]
evidence, log, receipt = paths
if not 1 <= args.max_cases <= 72 or not (evidence / 'plan.json').is_file():
parser.error('A prepared evidence directory and explicit 1..72 case bound are required')
if log == receipt or log.exists() or receipt.exists() or any((evidence / name).exists() for name in ('outputs.jsonl', 'attempts.jsonl', 'source-facts-attempts.jsonl', 'STOP-AFTER-CURRENT-CASE')):
parser.error('Existing reports, inference attempts and stop requests are preserved; no replay')
if not log.parent.is_dir() or not receipt.parent.is_dir():
parser.error('Explicit output parents must already exist')
try:
spec = importlib.util.spec_from_file_location('private_jev_helper', Path(args.key_helper).resolve())
helper = importlib.util.module_from_spec(spec)
spec.loader.exec_module(helper)
key = helper.keychain_key()
except Exception:
sys.exit('Private Jev credential helper unavailable; no evaluation started')
env = os.environ.copy()
env['TYPESAFE_API_KEY'] = key
command = ['node', '--experimental-strip-types', 'scripts/evaluate-solution-playbooks.mjs', 'run', str(evidence), '--max-cases', str(args.max_cases)]
started = datetime.datetime.now(datetime.timezone.utc).isoformat()
with os.fdopen(os.open(log, os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o600), 'w') as stream:
result = subprocess.run(command, cwd=root, env=env, stdin=subprocess.DEVNULL, stdout=stream, stderr=subprocess.STDOUT)
record = {
'scope': 'Actual finite evaluator process; never approval or publication evidence',
'command': command,
'started_at': started,
'finished_at': datetime.datetime.now(datetime.timezone.utc).isoformat(),
'exit_code': result.returncode,
'log': str(log),
'publicationApproved': False,
'automatic_retries': 0,
}
with os.fdopen(os.open(receipt, os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o600), 'w') as stream:
json.dump(record, stream, indent=2)
stream.write('\n')
print(json.dumps({'exit_code': result.returncode, 'receipt': str(receipt), 'publicationApproved': False}))
sys.exit(result.returncode)
1,855 changes: 1,855 additions & 0 deletions content/expansion/playbook-adversarial-cases.json

Large diffs are not rendered by default.

42 changes: 42 additions & 0 deletions content/expansion/playbook-local-contract.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"model": "mlx-community/Qwen3.5-9B-4bit@8b2b98c00a6b4d291155e4890773ca8f769aee53",
"server_sources_sha256": "dd806f27bb2d6f2e6fdad1c006f6b9d808f11ba74163d4b0057a18c0706aeefd",
"protocol": "compiled-playbook-gateway-v29-structural-record-identities",
"approval": "candidate_only_requires_complete_72_case_qualification",
"max_tokens": 768,
"temperature": 0,
"enable_thinking": false,
"finance_host": {
"execution": "finance-source-state-v3",
"model": "jev-1.14.0",
"node": "24.22.0",
"architecture": "arm64"
},
"supplier_host": {
"execution": "supplier-source-state-v1",
"model": "jev-1.14.0",
"node": "24.22.0",
"architecture": "arm64"
},
"workflow_interpreter": {
"model": "jev-1.14.0",
"protocol": "quarantine-source-notes-v1"
},
"security_host": {
"execution": "security-source-state-v1",
"model": "jev-1.14.0",
"node": "24.22.0",
"architecture": "arm64"
},
"brazil_host": {
"execution": "brazil-source-state-v1",
"model": "jev-1.14.0",
"node": "24.22.0",
"architecture": "arm64",
"xml_runtime": {
"python": "3.12.15",
"architecture": "arm64",
"expat": "expat_2.7.4"
}
}
}
54 changes: 54 additions & 0 deletions content/expansion/playbook-model-profiles.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
[
{
"model": "mlx-community/Qwen3.5-9B-4bit@8b2b98c00a6b4d291155e4890773ca8f769aee53",
"revision": "8b2b98c00a6b4d291155e4890773ca8f769aee53",
"python": "3.12.15",
"architecture": "arm64",
"mlx": "0.32.0",
"mlx_vlm": "0.6.13",
"weights_sha256": {
"model-00001-of-00002.safetensors": "a68b87558c6ef43f74c2bd63ce7e9092ceddc3101f3def0030774bae5f42aadd",
"model-00002-of-00002.safetensors": "b0a770bf8469c7f3f18756a0e0283f1c1174344a83e059a4e483f6af4907352d"
},
"model_files_sha256": {
"tokenizer_config.json": "e98f1901ac6f0adff67b1d540bfa0c36ac1a0cf59eb72ed78146ef89aafa1182",
"config.json": "a96942cb6a8a1d3f1d17514d81a1925d04362a6a3233b389d13012211baaa9f8",
"tokenizer.json": "87a7830d63fcf43bf241c3c5242e96e62dd3fdc29224ca26fed8ea333db72de4",
"processor_config.json": "14932921ca485d458a04dafd8069fbb0a4505622a48208d19ed247115801385b",
"chat_template.jinja": "a4aee8afcf2e0711942cf848899be66016f8d14a889ff9ede07bca099c28f715",
"vocab.json": "ce99b4cb2983d118806ce0a8b777a35b093e2000a503ebde25853284c9dfa003",
"model.safetensors.index.json": "dd023913fb87cfdae27fb11dcf695117c925833796ccac3c64117d6652d8ff1e",
"video_preprocessor_config.json": "7768af27c1fafa9cc9011c1dc20067e03f8915e03b63504550e11d5066986d13",
"preprocessor_config.json": "27225450ac9c6529872ee1924fcb0962ff5634834f817040f444118116f4e516"
},
"scope": "Candidate only for compiled playbook graphs; existing individual-skill qualification is a different protocol.",
"tool_parser_capability": "qwen3_coder"
},
{
"model": "mlx-community/gemma-3-12b-it-4bit@86cc6a8dedbc456dd0e4af01a9d09f396f77e558",
"revision": "86cc6a8dedbc456dd0e4af01a9d09f396f77e558",
"python": "3.12.15",
"architecture": "arm64",
"mlx": "0.32.0",
"mlx_vlm": "0.6.13",
"weights_sha256": {
"model-00001-of-00002.safetensors": "995cbd05b7bfd8f5ab5307b476eb5496b5ec3f5256a9dd26366236ce8816c93f",
"model-00002-of-00002.safetensors": "8b7af7eb5ff32109fc65cbcd0af5b8016ac0de46df17f40705f043f899495333"
},
"model_files_sha256": {
"added_tokens.json": "50b2f405ba56a26d4913fd772089992252d7f942123cc0a034d96424221ba946",
"chat_template.json": "fe16baf728db49457cde32802cd7efc0ac8a7a9877dbe22fe3322b2d9dc6ccd9",
"config.json": "73ed96a3f1d596fcf3c07f17ed7e4358fd99be688c97da45f2464fd48dd069ed",
"generation_config.json": "e04ecb65db447404710114fb282baaac482d22a95e2244ecaab428b81672ba78",
"model.safetensors.index.json": "788cc42a1a92835df62d9a3791f47105f63504c7c404637a73288e9b11bc7b82",
"preprocessor_config.json": "f688d6bb20c5017601c4011de7ca656da8485b540b05013efdaf986c0fcc918d",
"processor_config.json": "3ffd5f11778dc73e2b69b3c00535e4121e1badf7018136263cd17b5b34fbaa53",
"special_tokens_map.json": "2f7b0adf4fb469770bb1490e3e35df87b1dc578246c5e7e6fc76ecf33213a397",
"tokenizer.json": "4667f2089529e8e7657cfb6d1c19910ae71ff5f28aa7ab2ff2763330affad795",
"tokenizer.model": "1299c11d7cf632ef3b4e11937501358ada021bbdf7c47638d13c0ee982f2e79c",
"tokenizer_config.json": "0d95398b39395e5cfb290683a78f3fb0551223c672d8b033333c1a5307473760"
},
"scope": "Candidate only: requires separate full compiled-playbook evaluation; no approval inherited from any model.",
"tool_parser_capability": null
}
]
24 changes: 10 additions & 14 deletions content/playbooks/solution-brazil-reconciliation.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
slug: solution-brazil-reconciliation
name: Reconcile Brazilian order operations
type: playbook
version: 0.1.0
version: 0.1.31
description: An order-to-invoice-to-payment reconciliation and a human exception queue.
trigger: When the user requests reconcile brazilian order operations and provides authorized source inputs.
inputs:
Expand All @@ -16,28 +16,24 @@ inputs:
description: Pix settlement export and support consent policy
outputs:
deliverable:
type: string
type: object
description: Each document and payment is linked or flagged; Duplicates and mismatches are retained;
Finance owns posting and payment decisions
steps:
- id: invoices
action: instruction
action: tool:brazil.invoices
with:
prompt: "Reconcile invoices to orders. Produce: Invoice/order matching and document exceptions.
Requires completed steps: none. Preserve source evidence, permissions and owner approval.
Never infer completion from input validation."
requires: []
- id: payments
action: instruction
action: tool:brazil.payments
with:
prompt: "Reconcile settlement evidence. Produce: Matched payments and unresolved amounts. Requires
completed steps: invoices. Preserve source evidence, permissions and owner approval. Never
infer completion from input validation."
requires:
- invoices
- id: handoff
action: instruction
action: tool:brazil.handoff
with:
prompt: "Assign exceptions to people. Produce: Owner-specific summaries and reply drafts; no
automatic sending. Requires completed steps: payments. Preserve source evidence, permissions
and owner approval. Never infer completion from input validation."
requires:
- payments
tags:
- Operações Brasil
- business-solution
Expand Down
31 changes: 13 additions & 18 deletions content/playbooks/solution-monthly-finance-close.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
slug: solution-monthly-finance-close
name: Close the financial month
type: playbook
version: 0.1.0
version: 0.1.31
description: A reconciled ledger, explained variances and an owner-reviewed closing pack.
trigger: When the user requests close the financial month and provides authorized source inputs.
inputs:
Expand All @@ -16,34 +16,29 @@ inputs:
description: Approved budget and accounting policy
outputs:
deliverable:
type: string
type: object
description: Unmatched entries have owners; Variance bridge reconciles to source totals; Controller
approves the closing pack
steps:
- id: extract
action: instruction
action: tool:finance.extract
with:
prompt: "Normalize source records. Produce: Source-linked invoice and ledger table. Requires
completed steps: none. Preserve source evidence, permissions and owner approval. Never infer
completion from input validation."
requires: []
- id: reconcile
action: instruction
action: tool:finance.reconcile
with:
prompt: "Reconcile balances and exceptions. Produce: Reconciliation with unresolved items and
owners. Requires completed steps: extract. Preserve source evidence, permissions and owner
approval. Never infer completion from input validation."
requires:
- extract
- id: analyze
action: instruction
action: tool:finance.analyze
with:
prompt: "Explain variances and cash impact. Produce: Variance bridge and cash projection with
assumptions. Requires completed steps: reconcile. Preserve source evidence, permissions and
owner approval. Never infer completion from input validation."
requires:
- reconcile
- id: approve
action: instruction
action: tool:finance.approve
with:
prompt: "Controller review. Produce: Signed-off closing pack; no automatic posting or payment.
Requires completed steps: analyze. Preserve source evidence, permissions and owner approval.
Never infer completion from input validation."
requires:
- analyze
tags:
- Finance operations
- business-solution
Expand Down
31 changes: 13 additions & 18 deletions content/playbooks/solution-secure-agent-launch.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
slug: solution-secure-agent-launch
name: Launch an agent with scoped permissions
type: playbook
version: 0.1.0
version: 0.1.31
description: A reviewed tool inventory, tested abuse cases and a controlled release decision.
trigger: When the user requests launch an agent with scoped permissions and provides authorized
source inputs.
Expand All @@ -17,34 +17,29 @@ inputs:
description: Synthetic fixtures and release criteria
outputs:
deliverable:
type: string
type: object
description: Every tool has an owner and minimum scope; Abuse tests distinguish observed results
from plans; Release owner accepts remaining risks
steps:
- id: inventory
action: instruction
action: tool:security.inventory
with:
prompt: "Inventory tools and permissions. Produce: Tool/resource/actor permission matrix. Requires
completed steps: none. Preserve source evidence, permissions and owner approval. Never infer
completion from input validation."
requires: []
- id: fixtures
action: instruction
action: tool:security.fixtures
with:
prompt: "Create authorized offline abuse cases. Produce: Synthetic injection and exfiltration
fixtures. Requires completed steps: inventory. Preserve source evidence, permissions and
owner approval. Never infer completion from input validation."
requires:
- inventory
- id: test
action: instruction
action: tool:security.test
with:
prompt: "Run and inspect the tests. Produce: Captured traces and pass/fail evidence. Requires
completed steps: fixtures. Preserve source evidence, permissions and owner approval. Never
infer completion from input validation."
requires:
- fixtures
- id: release
action: instruction
action: tool:security.release
with:
prompt: "Release review. Produce: Owner-approved deployment and rollback plan. Requires completed
steps: test. Preserve source evidence, permissions and owner approval. Never infer
completion from input validation."
requires:
- test
tags:
- Agent security
- business-solution
Expand Down
31 changes: 13 additions & 18 deletions content/playbooks/solution-supplier-selection.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
slug: solution-supplier-selection
name: Evaluate and select suppliers
type: playbook
version: 0.1.0
version: 0.1.31
description: Comparable bids, documented risks and a buyer-owned decision.
trigger: When the user requests evaluate and select suppliers and provides authorized source inputs.
inputs:
Expand All @@ -16,34 +16,29 @@ inputs:
description: Delivery requirements and contract extracts
outputs:
deliverable:
type: string
type: object
description: Scope and currencies are comparable; Every score cites a source; Buyer approves award
and contractual actions
steps:
- id: scope
action: instruction
action: tool:supplier.scope
with:
prompt: "Define scope and mandatory criteria. Produce: Comparable requirements matrix. Requires
completed steps: none. Preserve source evidence, permissions and owner approval. Never infer
completion from input validation."
requires: []
- id: compare
action: instruction
action: tool:supplier.compare
with:
prompt: "Normalize bids and exclusions. Produce: Cost, lead time and scope comparison. Requires
completed steps: scope. Preserve source evidence, permissions and owner approval. Never
infer completion from input validation."
requires:
- scope
- id: risk
action: instruction
action: tool:supplier.risk
with:
prompt: "Review obligations and supplier risks. Produce: Evidence-backed risk and contract exception
log. Requires completed steps: compare. Preserve source evidence, permissions and owner
approval. Never infer completion from input validation."
requires:
- compare
- id: award
action: instruction
action: tool:supplier.award
with:
prompt: "Buyer decision. Produce: Decision record with required approval; no automatic award.
Requires completed steps: risk. Preserve source evidence, permissions and owner approval.
Never infer completion from input validation."
requires:
- risk
tags:
- Procurement
- business-solution
Expand Down
Loading
Loading