Skip to content

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 16 Sep 02:43
· 93 commits to main since this release
v0.1.0
dfee890

agentsessions v0.1.0

Pre-1.0: the wire contract and the Go SPI may both change. agentsessions.v1 is a proto
namespace, not a stability promise.

There is no authentication, authorization, or transport security. Do not expose a host to an
untrusted network or treat it as multi-tenant. See docs/security.md.

Changelog

Features

  • b666f65 feat(agentctl): add CLI with embedded-by-default Sessions server
  • e888332 feat(agentctl): add list and session metadata flags
  • 5f0cea1 feat(agentctl): name children when forking
  • 71e9206 feat(agentnode): add co-located pod node with replay-resume
  • b48bbde feat(api): add request context to the wire model-call
  • 3d3f300 feat(api): add session, harness, and runtime contracts
  • 0a20aa8 feat(api): content model, reasoning, log-record, two-axis state
  • a5b0bde feat(api): drop the Pause and Heartbeat RPCs (#20)
  • df4c83e feat(api): flatten the SnapshotRef oneof (#19)
  • e0d6b52 feat(api): let callers name fork children
  • 45af501 feat(api): make the simple path one call (#34)
  • ea44a8b feat(api): paginate ListSessions
  • b2d3694 feat(api): thread context through the harness SPI (#17)
  • c5db13a feat(canon): add language-neutral content hash for the log
  • c657d33 feat(client): add the Go client SDK (#36)
  • 49ec9c2 feat(controller): add WithFence to bind a caller-minted fence
  • fbdf225 feat(controller): add crash-recovery resume with at-most-once re-drive
  • a2d8242 feat(controller): add event-sourced core with host-mediated replay
  • fc8563f feat(controller): mediate tools with idempotent crash resume
  • 36c4f4b feat(controller): pass conversation history to the harness on exec
  • 0fcc7ee feat(controller): require idempotency key for mediated tools
  • b8a0bc8 feat(counteragent): add in-RAM counter harness for axis-2
  • b430b7e feat(echoagent): add stateless-replay echo harness
  • 7ea048d feat(eventlog): add append-only log with CAS, fencing, hash-chain
  • b3814fc feat(eventlog): add error-returning Store interface and adapter
  • 4ae2bee feat(fork): clone the parent memory snapshot on substrate fork
  • 20e2217 feat(harnessnode): add in-sandbox harnesswire server + substrate manifests
  • c6c15f9 feat(harnesswire): bridge api.Harness and the Harness.Connect stream
  • c20d8a8 feat(harnesswire): mediate tool calls over the wire
  • d134bf2 feat(harnesswire): verify model and tool result correlation ids
  • d56bb7a feat(host): add walking-skeleton host, replay, and conformance suite
  • 6b2fb46 feat(integrations/substrate): add ate-api ControlClient adapter
  • e3e890a feat(model): add an OpenAI-compatible model provider (#33)
  • d69814e feat(observability): trace request flow (#8)
  • 79de4c1 feat(placement): gate unplaceable harnesses as FailedPrecondition
  • e04c4ae feat(placement): make the harness dialer pluggable via WithDialer
  • a508e0a feat(placement): route Sessions Exec through the Runtime SPI
  • dc177ba feat(placement): route sessions to the harness they name (#28)
  • 3a3f29d feat(placement): wire suspend/resume/fork through the Runtime SPI
  • bda78c8 feat(runtime): add agent-substrate Runtime backend
  • 2b03103 feat(runtime/local): add filesystem-only in-process backend
  • 6be95a1 feat(runtime/local): serve the harness over a unix socket
  • 07bc236 feat(runtime/substrate): add Describe for placement gating
  • 3a35fc8 feat(runtime/substrate): dial the harness at PodIP:80, not the mesh
  • 0569a97 feat(session): add Sessions gRPC service over the durable log
  • 202fdc7 feat(session): honor the request fields the contract declares (#38)
  • 159b59f feat(session): implement storage-backed ListSessions
  • 55376bb feat(session): stream a turn as it happens (#37)
  • bb410bd feat(sqlitelog): add persistent sqlite-backed event log
  • 8147918 feat(sqlitelog): persist session metadata and enumerate sessions
  • 0acce6c feat(sqlitelog): stamp the schema version (#22)
  • dcf4b59 feat(substrate): add axis-2 memory-continuity driver + Job
  • f97c526 feat(substrate): add micro-VM counter ActorTemplate for axis-2
  • ddf829f feat(substrate-e2e): add axis-1 conformance driver and CI workflow
  • c095489 feat(substrate-e2e): auth Control with TLS+token and ensure atespace
  • cc51f44 feat(substrate-e2e): run axis-1 conformance as an in-cluster Job
  • 6488ae3 feat(verify): add cross-language chain verifier with tamper detection
  • 8d74509 feat(wire): pin domain types to generated proto types

Fixes

  • 5d070f9 fix(ci): compare buf breaking against a remote-tracking base ref
  • 0c4b8ca fix(ci): give ate-system rollouts a longer budget
  • d7d3e00 fix(controller): detect interrupted turn by last input without end
  • faea643 fix(controller): reject unmediated and unapproved tool calls
  • 053079b fix(harnessnode): pin distroless ko base for ateom unpack
  • ab6fc61 fix(harnesswire): surface failed remote-harness end-state
  • 29a3196 fix(runtime): classify invalid session specs
  • 9cc8fb5 fix(runtime): validate session specs before create
  • 1220576 fix(session): stop copying the parent name onto fork children
  • 00c49d2 fix(sqlitelog): retry the WAL mode switch under lock contention
  • 029115e fix(substrate-e2e): drop ko --bare (rejects host:port repo)
  • 6e474a9 fix(substrate-e2e): use onCommit Full for the stateless harness
  • f83e369 fix(substrate-e2e): use valid onCommit=Data in the ActorTemplate

Documentation

  • e83e9d0 docs(api): clarify SnapshotRef layering and flag the oneof TODO
  • 72ffed4 docs(api): generate the api reference from the protos
  • 101b5d7 docs: add concepts, quickstart, harness authoring, faq, and index
  • 1dbda39 docs: add contributing, security, and conduct guides (#24)
  • 7cd11f1 docs: add project readme
  • aaca9bb docs: cover fork use cases, cost, and the substrate roadmap gap
  • 4922b4e docs: document fork child naming
  • a8f2688 docs: document how users interact with agentsessions (#39)
  • a5537e5 docs: document session metadata and listing
  • c3f5d6e docs: document the security posture and API stability (#35)
  • 5e0e08a docs: drop stale line-count qualifier for the chain verifier
  • 4001f1e docs: fix unrenderable mermaid diagram in substrate-conformance
  • dd7ad0a docs: refresh README and add architecture + substrate-conformance
  • dfee890 docs: state what each design choice buys (#42)

Build and CI

  • 934d262 build(demo): add container image, kind manifests, and demo script
  • 9f5e27b build(deps): bump google.golang.org/grpc (#25)
  • 6f7f9a8 build(proto): generate go and grpc stubs via pinned buf plugins
  • ee9948d build: add the release workflow (#40)
  • 104fdfa ci(substrate): run the fork conformance suite against a real cluster
  • ad97111 ci(substrate-e2e): run axis-2 micro-VM conformance in one cluster
  • a2cff2a ci: add codegen-reproducibility and build/test workflow
  • ede9b1d ci: drop the go build cache (post-save ballooned to 51m)
  • fd78142 ci: gate every pull request on the full test suite
  • 72be4db ci: gate proto compatibility on the last release, not main (#18)
  • 434c5d2 ci: gate race, buf lint/breaking, and chain verifier
  • 34de605 ci: speed up substrate-e2e with build cache and path filters

Other

  • c16d288 Initial commit
  • 36fa53e chore: initialize go module
  • fd57463 chore: relicense under Apache 2.0 (#23)
  • 74d4f52 refactor: remove the walking-skeleton and dead declarations (#21)

Verify an artifact

Every archive is checksummed, and each carries an SBOM alongside it:

sha256sum -c checksums.txt --ignore-missing

Public releases also carry signed build provenance, which ties an archive to the workflow,
commit, and runner that produced it:

gh attestation verify <file> --repo aramase/agentsessions