feat: ship hitridge-business-o1 v0.1.0 — signed depo package + toolchain
- package: manifest v1.0 (schema, package_id, layers: odoo_modules/agents/docs/config/brain) - agents: 4 neutral cards + prompts (sellers-recruiter, test-operator, closer, compliance) no script.run in v0.1.0; odoo.* + file.* primitives only - modules: aura_business_core + hitridge_venture_o1 stubs (menus, ACLs, models) - docs: playbook, test-checklist, price-guide-starter, agreement-template.odt - config: channels (olx-bg/forums-local), pricing-rules (BGN, A/B/C/reject, drop ladder) - brain: empty-seed capability contract + seeds README (memories never ship) - toolchain: depo-sign.sh (ed25519, PEM+raw), validate-depo.sh (schema/files/cards/tools/ secrets/sig gates -> writes VALIDATE), tool-registry.json - install.sh: target-side verify (hash + ed25519 + layer files); install is phase 2 - public-keys/depo-signing.pub committed (private key stays out of repo) - VALIDATE: PASS (signed + verified, tamper-rejection tested)
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
#!/usr/bin/env python3
|
||||
"""O1 brain — runtime/memory capability (ships as capability; memories are EMPTY seeds at install).
|
||||
|
||||
The brain.py here is the *capability contract* for the O1 package. At install time the
|
||||
target runtime provides the real implementation (same CLI contract). Memories are never
|
||||
shipped — only the engine and namespace naming convention, so each target seeds fresh.
|
||||
|
||||
CLI contract (per agent-card-spec v1.0, `memory` field):
|
||||
brain.py store <namespace> <key> <value>
|
||||
brain.py search <namespace> <query> [topk]
|
||||
brain.py clear <namespace>
|
||||
|
||||
Namespaces used by O1 agents (see agent cards):
|
||||
o1-sellers, o1-tests, o1-closer, o1-compliance
|
||||
"""
|
||||
import sys
|
||||
|
||||
|
||||
def _die(msg: str, code: int = 1) -> None:
|
||||
print(f"brain: {msg}", file=sys.stderr)
|
||||
sys.exit(code)
|
||||
|
||||
|
||||
def main(argv: list[str]) -> int:
|
||||
if len(argv) < 3:
|
||||
_die(f"usage: {argv[0]} <store|search|clear> <namespace> [...]")
|
||||
cmd, ns = argv[1], argv[2]
|
||||
if cmd == "store" and len(argv) >= 5:
|
||||
key, value = argv[3], argv[4]
|
||||
print(f"store {ns}/{key} (empty-seed runtime: no-op)")
|
||||
return 0
|
||||
if cmd == "search":
|
||||
print(f"search {ns}: empty seed — no memories yet")
|
||||
return 0
|
||||
if cmd == "clear":
|
||||
print(f"clear {ns} (empty-seed runtime: no-op)")
|
||||
return 0
|
||||
_die(f"unknown command/arity: {' '.join(argv[1:])}")
|
||||
return 1
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main(sys.argv))
|
||||
Reference in New Issue
Block a user