Releases: Shangri-la-0428/Thronglets
v2.0.1
v2.0.0
v2.0.0 — Identity removed from field physics (BREAKING)
v1.0.9
fix: make field socket Unix-only
v1.0.8 — Space derivation fix
Fix: space derivation now walks to project root instead of taking the last 2 path components.
Previously a single project was fragmented into multiple spaces whenever the user cd'd into subdirectories (e.g. ~/Desktop/Oasis_App, frontend/android, Oasis_App/backend all resolved to distinct spaces). This silently broke Level 1 stigmergic reinforcement — a textbook K-fragmentation confirmed in primordial-soup exp_task_diversity (K=5 → 99% drop in strong traces).
New service::derive_project_space(path) walks ancestors looking for:
.git(dir or file) — repo root- Common project manifests (
Cargo.toml,package.json,pyproject.toml,go.mod,pom.xml,build.gradle[.kts]) - Legacy fallback: last 2 path components
Migration: none. Old traces keep their old space labels and fade under the 168h decay; new traces write under the corrected identifier.
6 new unit tests. Full suite (380+ tests) passing.
v1.0.7 — Outcome-enriched co-edit observations
Co-edit observations now carry outcome quality (success rate %) alongside frequency.
count_co_occurring_sessionsreturnsCoEditStatswith total + succeeded counts- Prehook output shows
coupled: eval.rs (3 sessions, 87%)when sample >= 3 - Foundation for stigmergic emergence: spatial coupling × outcome quality
v1.0.3
Hebbian direction in field observations
Primordial-soup experiment proved: valence-only = 0% agent improvement, valence + Hebbian direction = +27.2%.
FieldScan gains coupled_from field. Capabilities surfaced via Hebbian coupling now show their predecessor:
field: project tool:edit (78% success in this project, follows tool:search)
The field's relational dimension — directed edges discovered through co-excitation — now reaches agents for the first time.
Changes
pheromone.rs:coupled_from: Option<String>onFieldScan, set in Phase 2 ofscan_at_levelandscan_with_fallbackhooks.rs:render_field_observationrenders directional info whencoupled_fromis set- Backward compatible: existing serialization unaffected via
serde(default)
v1.0.2 — Close field→agent feedback loop
What's new
The field→agent feedback loop is now closed for the first time. Agents receive live field observations during prehook execution.
Signal-to-noise fixes
- Concrete early-stop removed:
scan_with_fallbackno longer stops at Concrete level, ensuring Project/Typed/Universal results always reach the render pipeline - Lifecycle capability filter: Internal
urn:thronglets:*capabilities (lifecycle, signal, presence, continuity) are excluded from agent-visible field observations - Scan limit increased: 3→12 raw scan results, truncated to 6 rendered observations — enough headroom after Concrete filtering
Infrastructure
- Profiler now tracks
field_observationscount separately fromemittedhints - MCP stdio timeout increased (15s→30s) for reliability
Field stats (at release)
- 8,134 field points across 4 abstraction levels
- 55,791 traces from 514 sessions
- 4+ agent types contributing (claude-code, codex, openclaw, psyche)
- Hebbian co-activation clusters forming (Edit×Read=10, Grep×Read=8)
Full Changelog: v1.0.1...v1.0.2
v1.0.1
Architecture Refactor + cargo fmt
main.rs4985 → 26 lines — all 44 command handlers extracted intosrc/cmd/module tree (9 submodules grouped by resource pattern). CLI data definitions moved tosrc/cli.rs. Two-tier context pattern (BaseCtx/FullCtx) cleanly separates identity-free and identity-required commands. Zero behavior change.- Field IPC — long-running processes (MCP, HTTP, run) now serve the live pheromone field over a Unix socket (
field.sock). Prehook queries the hot field via socket (~1ms) instead of loading stale JSON from disk. - cargo fmt — applied
rustfmtacross entire codebase.
Full changelog: CHANGELOG.md
v1.0.0
feat: v1.0.0 — abstraction levels: give the field a dimension One field, one physics, four abstraction levels. FieldKey grows from (capability, bucket) to (capability, bucket, level). One trace excites Concrete → Project → Typed → Universal simultaneously. Same decay, Hebbian coupling, carrying capacity, corroboration at every level — the physics automatically produces correct behavior: - Level 0-1 (Concrete/Project) stay local — specific experience has boundaries - Level 2-3 (Typed/Universal) sync via P2P — abstract knowledge flows - Space isolation = Level 1 (explained, not deleted) - scan_with_fallback() walks levels with early stop on strong signal - v0.9.2 P2P crack fixed by design: remote traces skip Level 1 New: target_kind.rs (TargetKind × language → Level 2 bucket) New: thronglets/field/v1 gossipsub topic for field snapshot sync New: trust-discounted remote snapshot merge (0.7x) 294 tests green. Zero per-level constants. Zero clippy warnings on lib. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v0.9.3
bump v0.9.3: capability normalization + field convergence + policy si…