Skip to content

Add declarative hive language and guarded self-edits - #120

Merged
senamakel merged 1 commit into
mainfrom
hive-language
Oct 10, 2026
Merged

senamakel merged 1 commit into
mainfrom
hive-language

Conversation

@senamakel

Copy link
Copy Markdown
Member

Summary

Add tinyhivemind-lang, a pure typed hive package format with JSON manifests and Markdown side files. It validates and lowers hive structure, goals, policies, capabilities and memory bindings, supports guarded edits, and records content-addressed evaluated lineage with a Pareto frontier. Hosts retain storage, evaluation, memory contents and activation authority.

Includes DeepSWE and PE1006 packages, a SWE-compatible run-memory regression, and a deterministic self-edit example demonstrating accepted and rejected proposals.

Related issue

Closes #112

API or behavior changes

  • New public language crate and OpenHuman conversion helpers; existing policy/coordinator types gain serde.
  • ManagementRequest::CreateAgent adds optional boxed memory metadata. Existing JSON remains compatible; Rust constructors must supply memory: None when unbound.
  • AgentFactory::create_with_memory preserves existing unbound factories. Bound factories must install and enforce the complete memory contract before registration; unsupported bindings are refused.
  • Canonical authoring uses JSON, including a JSON subset for Markdown frontmatter. Constitution, evaluator, acceptance and telemetry settings cannot be edited through patches.
  • Package memory reaches stay within the declared tree. inherit: true is refused because the current engine also includes global-root memory; explicit bounded ancestor reaches remain available.
  • Cross-run memory is opt-in, with host-owned watermark/fork enforcement. The example uses a deterministic rubric rather than claiming live held-out benchmark evaluation.

Validation

All passed:

  • cargo fmt --all -- --check
  • cargo clippy --all-targets --all-features -- -D warnings
  • cargo build --all-targets --all-features
  • cargo test --all-features
  • .github/scripts/assert-pure.sh
  • RUSTDOCFLAGS="-D warnings" cargo doc --no-deps --all-features
  • cargo llvm-cov -p tinyhivemind-lang --json --output-path target/hive-language-coverage.json — every reported language implementation file exceeds 90% line coverage (minimum 92.86%).
  • cargo run -p tinyhivemind-lang --example self_edit
  • git diff --check

Tests

Wire representations, validation failures, parse/lower and diff/apply, atomic patch guards, protected evaluator/telemetry fields, canaries, read-only and bounded memory, share/reassign/fork, persistent memory watermarks, archive verification and Pareto selection are covered. Regression cases include unknown nested policy fields, implicit root-memory inheritance, purpose-directory escapes, long goal chains, and uppercase Markdown extensions. Adapter tests verify memory installation and backward-compatible decoding.

External evaluation and memory-store transactions remain host ports; the pure crate does not open stores or execute models. Hosts must implement pinned reads or forks for reproducible persistent-memory evaluation.

Documentation

Checklist

  • The change is focused on one logical change
  • No new blanket #[allow(...)], #[ignore], or relaxed lints
  • No secrets, tokens, or .env contents in the diff or the description

Co-authored-by: Medulla <medulla@tinyhumans.ai>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@tinysweeper

tinysweeper Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Tiny Sweeper review

⚠️ Review failed for 878cea0f59ea. lane review: tinysweeper was restarted while this review was running

@coderabbitai

coderabbitai Bot commented Oct 10, 2026

Copy link
Copy Markdown

Warning

Review limit reached

  • Run on-demand review

This review includes 104 billable files and costs up to $26.00.

View limit details

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 35e3d2e2-b213-4f87-a77e-b94d196acc08

📥 Commits

Reviewing files that changed from the base of the PR and between 83080c1 and 878cea0.


⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock

📒 Files selected for processing (104)
  • .github/scripts/assert-pure.sh
  • AGENTS.md
  • Cargo.toml
  • README.md
  • crates/tinyhivemind-core/src/driver/conduct/README.md
  • crates/tinyhivemind-core/src/driver/conduct/mod.rs
  • crates/tinyhivemind-core/src/driver/conduct/test/wire.rs
  • crates/tinyhivemind-core/src/driver/conduct/types.rs
  • crates/tinyhivemind-core/src/hive/division/test.rs
  • crates/tinyhivemind-core/src/hive/division/types.rs
  • crates/tinyhivemind-hives/src/coordinator/test/README.md
  • crates/tinyhivemind-hives/src/coordinator/test/mod.rs
  • crates/tinyhivemind-hives/src/coordinator/test/options.rs
  • crates/tinyhivemind-hives/src/coordinator/types.rs
  • crates/tinyhivemind-hives/src/storage/types.rs
  • crates/tinyhivemind-lang/Cargo.toml
  • crates/tinyhivemind-lang/README.md
  • crates/tinyhivemind-lang/examples/README.md
  • crates/tinyhivemind-lang/examples/self_edit.rs
  • crates/tinyhivemind-lang/src/README.md
  • crates/tinyhivemind-lang/src/document/README.md
  • crates/tinyhivemind-lang/src/document/mod.rs
  • crates/tinyhivemind-lang/src/document/types.rs
  • crates/tinyhivemind-lang/src/error/README.md
  • crates/tinyhivemind-lang/src/error/mod.rs
  • crates/tinyhivemind-lang/src/lib.rs
  • crates/tinyhivemind-lang/src/lineage/README.md
  • crates/tinyhivemind-lang/src/lineage/mod.rs
  • crates/tinyhivemind-lang/src/lineage/test.rs
  • crates/tinyhivemind-lang/src/lineage/types.rs
  • crates/tinyhivemind-lang/src/lowering/README.md
  • crates/tinyhivemind-lang/src/lowering/mod.rs
  • crates/tinyhivemind-lang/src/lowering/test.rs
  • crates/tinyhivemind-lang/src/lowering/types.rs
  • crates/tinyhivemind-lang/src/memory/README.md
  • crates/tinyhivemind-lang/src/memory/mod.rs
  • crates/tinyhivemind-lang/src/memory/types.rs
  • crates/tinyhivemind-lang/src/patch/README.md
  • crates/tinyhivemind-lang/src/patch/items.rs
  • crates/tinyhivemind-lang/src/patch/mod.rs
  • crates/tinyhivemind-lang/src/patch/test.rs
  • crates/tinyhivemind-lang/src/patch/types.rs
  • crates/tinyhivemind-lang/src/validation/README.md
  • crates/tinyhivemind-lang/src/validation/mod.rs
  • crates/tinyhivemind-lang/src/validation/test.rs
  • crates/tinyhivemind-lang/tests/README.md
  • crates/tinyhivemind-lang/tests/example_packages.rs
  • crates/tinyhivemind-lang/tests/fixtures/README.md
  • crates/tinyhivemind-lang/tests/fixtures/deepswe/README.md
  • crates/tinyhivemind-lang/tests/fixtures/deepswe/constitution.json
  • crates/tinyhivemind-lang/tests/fixtures/deepswe/hive.json
  • crates/tinyhivemind-lang/tests/fixtures/deepswe/memory.json
  • crates/tinyhivemind-lang/tests/fixtures/deepswe/roles/README.md
  • crates/tinyhivemind-lang/tests/fixtures/deepswe/roles/implementer.md
  • crates/tinyhivemind-lang/tests/fixtures/deepswe/roles/lead.md
  • crates/tinyhivemind-lang/tests/fixtures/deepswe/roles/reviewer.md
  • crates/tinyhivemind-lang/tests/fixtures/deepswe/roles/tester.md
  • crates/tinyhivemind-lang/tests/fixtures/deepswe/seats/README.md
  • crates/tinyhivemind-lang/tests/fixtures/deepswe/seats/implementer.md
  • crates/tinyhivemind-lang/tests/fixtures/deepswe/seats/lead.md
  • crates/tinyhivemind-lang/tests/fixtures/deepswe/seats/reviewer.md
  • crates/tinyhivemind-lang/tests/fixtures/deepswe/seats/tester.md
  • crates/tinyhivemind-lang/tests/fixtures/pe1006/README.md
  • crates/tinyhivemind-lang/tests/fixtures/pe1006/constitution.json
  • crates/tinyhivemind-lang/tests/fixtures/pe1006/hive.json
  • crates/tinyhivemind-lang/tests/fixtures/pe1006/memory.json
  • crates/tinyhivemind-lang/tests/fixtures/pe1006/roles/README.md
  • crates/tinyhivemind-lang/tests/fixtures/pe1006/roles/checker.md
  • crates/tinyhivemind-lang/tests/fixtures/pe1006/roles/lead.md
  • crates/tinyhivemind-lang/tests/fixtures/pe1006/roles/researcher.md
  • crates/tinyhivemind-lang/tests/fixtures/pe1006/roles/solver.md
  • crates/tinyhivemind-lang/tests/fixtures/pe1006/roles/theory.md
  • crates/tinyhivemind-lang/tests/fixtures/pe1006/seats/README.md
  • crates/tinyhivemind-lang/tests/fixtures/pe1006/seats/checker.md
  • crates/tinyhivemind-lang/tests/fixtures/pe1006/seats/lead.md
  • crates/tinyhivemind-lang/tests/fixtures/pe1006/seats/researcher.md
  • crates/tinyhivemind-lang/tests/fixtures/pe1006/seats/solver.md
  • crates/tinyhivemind-lang/tests/fixtures/pe1006/seats/theory.md
  • crates/tinyhivemind-lang/tests/path_case.rs
  • crates/tinyhivemind-lang/tests/run_memory.rs
  • crates/tinyhivemind-openhuman/Cargo.toml
  • crates/tinyhivemind-openhuman/src/README.md
  • crates/tinyhivemind-openhuman/src/error.rs
  • crates/tinyhivemind-openhuman/src/host/README.md
  • crates/tinyhivemind-openhuman/src/host/language_test.rs
  • crates/tinyhivemind-openhuman/src/host/mod.rs
  • crates/tinyhivemind-openhuman/src/host/test.rs
  • crates/tinyhivemind-openhuman/src/host/types.rs
  • crates/tinyhivemind-openhuman/src/host/types_test.rs
  • crates/tinyhivemind-openhuman/src/language/README.md
  • crates/tinyhivemind-openhuman/src/language/mod.rs
  • crates/tinyhivemind-openhuman/src/language/test.rs
  • crates/tinyhivemind-openhuman/src/lib.rs
  • crates/tinyhivemind-openhuman/src/tools/mod.rs
  • crates/tinyhivemind-openhuman/src/tools/types.rs
  • docs/adr/0028-three-crate-workspace.md
  • docs/adr/0032-hive-language-owns-the-wire-format.md
  • docs/adr/README.md
  • docs/crate-dependencies.md
  • docs/plans/2026-10-10-hive-language.md
  • docs/plans/README.md
  • docs/specs/README.md
  • docs/specs/hive-language.md
  • docs/specs/hive-memory.md

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@senamakel
senamakel merged commit c130000 into main Oct 10, 2026
7 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Hive definition language: a self-editable spec for hives, seats, goals and context (tinyhivemind-lang)

1 participant