Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ Gormes is a **strangler-fig rewrite**. Each phase ships a self-contained surface
| Phase | Status | Shipped |
|-------|--------|---------|
| Phase 1 — The Dashboard | ✅ | 3/3 subphases |
| Phase 2 — The Gateway | 🔨 | 11/19 subphases |
| Phase 2 — The Gateway | 🔨 | 12/19 subphases |
| Phase 3 — The Black Box (Memory) | 🔨 | 11/14 subphases |
| Phase 4 — The Brain Transplant | 🔨 | 0/8 subphases |
| Phase 5 — The Final Purge | 🔨 | 1/18 subphases |
Expand Down
4 changes: 2 additions & 2 deletions cmd/gormes/telegram.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ import (
"github.com/TrebuchetDynamics/gormes-agent/internal/cron"
"github.com/TrebuchetDynamics/gormes-agent/internal/gateway"
"github.com/TrebuchetDynamics/gormes-agent/internal/goncho"
"github.com/TrebuchetDynamics/gormes-agent/internal/gonchotools"
"github.com/TrebuchetDynamics/gormes-agent/internal/hermes"
"github.com/TrebuchetDynamics/gormes-agent/internal/kernel"
"github.com/TrebuchetDynamics/gormes-agent/internal/memory"
"github.com/TrebuchetDynamics/gormes-agent/internal/session"
"github.com/TrebuchetDynamics/gormes-agent/internal/telemetry"
"github.com/TrebuchetDynamics/gormes-agent/internal/tools"
)

// telegramCmd runs Gormes as a Telegram bot — the adapter previously
Expand Down Expand Up @@ -115,7 +115,7 @@ func runTelegram(cmd *cobra.Command, _ []string) error {
defer cancel()

reg := buildDefaultRegistry(rootCtx, cfg.Delegation, cfg.SkillsRoot(), hc, cfg.Hermes.Model)
tools.RegisterHonchoTools(reg, goncho.NewService(mstore.DB(), goncho.Config{
gonchotools.RegisterHonchoTools(reg, goncho.NewService(mstore.DB(), goncho.Config{
WorkspaceID: "default",
ObserverPeerID: "gormes",
RecentMessages: 4,
Expand Down
22 changes: 11 additions & 11 deletions docs/content/building-gormes/architecture_plan/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,12 @@ machine-readable queue for developing the full `gormes-agent`.
## Progress

<!-- PROGRESS:START kind=docs-full-checklist -->
**Overall:** 28/73 subphases shipped · 13 in progress · 32 planned
**Overall:** 29/73 subphases shipped · 13 in progress · 31 planned

| Phase | Status | Shipped |
|-------|--------|---------|
| Phase 1 — The Dashboard | ✅ | 3/3 subphases |
| Phase 2 — The Gateway | 🔨 | 11/19 subphases |
| Phase 2 — The Gateway | 🔨 | 12/19 subphases |
| Phase 3 — The Black Box (Memory) | 🔨 | 11/14 subphases |
| Phase 4 — The Brain Transplant | 🔨 | 0/8 subphases |
| Phase 5 — The Final Purge | 🔨 | 1/18 subphases |
Expand Down Expand Up @@ -149,13 +149,13 @@ machine-readable queue for developing the full `gormes-agent`.
- [x] Typed result envelope
- [x] Append-only run log

### 2.E.1 — OS-AI Spine: Delegation Policy + Child Execution 🔨
### 2.E.1 — OS-AI Spine: Delegation Policy + Child Execution ✅

- [x] Runner-enforced tool allowlists + blocked-tool policy
- [x] Tool-call audit in typed child results
- [x] Real child Hermes stream loop
- [x] GBrain minion-orchestrator routing policy
- [ ] Durable subagent/job ledger
- [x] Durable subagent/job ledger

### 2.E.2 — OS-AI Spine: Concurrent-Tool Cancellation ✅

Expand Down Expand Up @@ -284,29 +284,29 @@ machine-readable queue for developing the full `gormes-agent`.
- [x] Opt-in user-scope recall + source filters
- [x] Interrupted-turn memory sync suppression
- [x] Honcho-compatible scope/source tool schema
- [ ] Honcho host integration compatibility fixtures
- [ ] Cross-chat deny-path fixtures
- [x] Honcho host integration compatibility fixtures
- [x] Cross-chat deny-path fixtures
- [ ] Cross-chat operator evidence

### 3.E.8 — Session Lineage + Cross-Source Search 🔨

- [x] parent_session_id lineage for compression splits
- [ ] Gateway resume follows compression continuation
- [x] Gateway resume follows compression continuation
- [x] Source-filtered session/message search core
- [x] GONCHO user-scope search/context parameters
- [ ] Lineage-aware source-filtered search hits
- [x] Lineage-aware source-filtered search hits
- [ ] Operator-auditable search evidence

### 3.F — Goncho Honcho Memory Parity ⏳
### 3.F — Goncho Honcho Memory Parity 🔨

- [ ] Goncho context representation options
- [x] Goncho context representation options
- [ ] Goncho search filter grammar
- [ ] Directional peer cards and representation scopes
- [ ] Goncho queue status read model
- [ ] Goncho summary context budget
- [ ] Goncho dialectic chat contract
- [ ] Goncho file upload import ingestion
- [ ] Goncho topology design fixtures
- [x] Goncho topology design fixtures
- [ ] Goncho operator diagnostics contract
- [ ] Goncho streaming chat persistence contract
- [ ] Goncho configuration namespace
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ The Phase 3 queue is not one flat backlog. The order matters because later memor
1. **P2 — 3.E.7 interrupted-turn sync gate**
Upstream Hermes now skips external-provider memory sync on interrupted turns. Gormes should pin the same safety rule over the local GONCHO finalization path before widening host-compatible memory surfaces: a cancelled turn can record a skipped-sync reason, but it must not create durable conclusions or cross-chat recall candidates.
2. **P2 — 3.E.7 Honcho-compatible tool-edge closeout**
The `user_id` merge rules, same-chat recall fence, and opt-in user-scope/source-filtered recall are pinned in `internal/session` and `internal/memory`. The internal GONCHO service accepts those scope/source parameters, but `internal/tools/honcho_tools.go` still needs to advertise them in the tool schemas before this is safe to call shipped. The remaining slices are scope/source schema exposure for `honcho_search`/`honcho_context`, then explicit deny-path fixtures, then operator-readable evidence.
The `user_id` merge rules, same-chat recall fence, and opt-in user-scope/source-filtered recall are pinned in `internal/session` and `internal/memory`. The internal GONCHO service accepts those scope/source parameters, but `internal/gonchotools/honcho_tools.go` still needs to advertise them in the tool schemas before this is safe to call shipped. The remaining slices are scope/source schema exposure for `honcho_search`/`honcho_context`, then explicit deny-path fixtures, then operator-readable evidence.
3. **P3 — Honcho host integration compatibility fixtures**
Honcho upstream added OpenCode and SillyTavern integration docs. Gormes should not port their Node/Bun plugins, but it should fixture-lock the shared concepts they depend on: workspace, peer, host-scoped config, session strategy, context/tool/hybrid recall modes, and durable conclusion/search tools while keeping the internal package named `goncho`.
4. **P4 — 3.E.8 `parent_session_id` lineage closeout**
Expand Down
46 changes: 23 additions & 23 deletions docs/content/building-gormes/architecture_plan/progress.json
Original file line number Diff line number Diff line change
Expand Up @@ -1285,7 +1285,7 @@
"system"
],
"degraded_mode": "Memory status and tool schema evidence show when user-scope or source-filtered recall is unavailable.",
"fixture": "internal/tools/honcho_tools_test.go",
"fixture": "internal/gonchotools/honcho_tools_test.go",
"source_refs": [
"docs/content/upstream-hermes/gormes-takeaways.md",
"docs/content/building-gormes/architecture_plan/phase-3-memory.md",
Expand All @@ -1308,11 +1308,11 @@
],
"note": "TDD landed: `honcho_search` and `honcho_context` keep their public Honcho-compatible names while their JSON Schemas now advertise optional `scope` and `sources` controls backed by the existing internal GONCHO params. Schema tests assert both fields are discoverable and not required, and executor round-trips without either field preserve same-chat default behavior. Deny-path fixtures and operator evidence remain separate 3.E.7 slices.",
"write_scope": [
"internal/tools/",
"internal/gonchotools/",
"docs/content/building-gormes/architecture_plan/progress.json"
],
"test_commands": [
"go test ./internal/tools ./internal/goncho -count=1"
"go test ./internal/gonchotools ./internal/goncho -count=1"
],
"done_signal": [
"Honcho-compatible tool schema tests prove scope and sources are optional, discoverable, and routed through existing GONCHO params."
Expand Down Expand Up @@ -1472,7 +1472,7 @@
"name": "Gateway resume follows compression continuation",
"status": "complete",
"contract": "Gateway and CLI resume resolve a titled or root session to the newest live compression descendant before loading transcript history",
"contract_status": "draft",
"contract_status": "validated",
"slice_size": "small",
"execution_owner": "gateway",
"trust_class": [
Expand Down Expand Up @@ -1605,7 +1605,7 @@
"docs/content/building-gormes/goncho_honcho_memory/03-honcho-docs-study.md",
"docs/content/building-gormes/goncho_honcho_memory/04-agent-work-packets.md",
"internal/goncho/types.go",
"internal/tools/honcho_tools.go"
"internal/gonchotools/honcho_tools.go"
],
"ready_when": [
"honcho_context already accepts peer, query, max_tokens, session_key, scope, and sources through the Goncho service."
Expand All @@ -1626,11 +1626,11 @@
"note": "TDD landed: ContextParams and the honcho_context schema expose optional peer_target, peer_perspective, limit_to_session, search_top_k, search_max_distance, include_most_frequent, and max_conclusions. Omitted fields preserve same-chat context defaults; limit_to_session=true fails closed without session_key and cannot widen through scope=user; unsupported directional and semantic representation options return structured unavailable evidence. Summaries, observations, and dialectic-backed retrieval remain separate slices.",
"write_scope": [
"internal/goncho/",
"internal/tools/",
"internal/gonchotools/",
"docs/content/building-gormes/architecture_plan/progress.json"
],
"test_commands": [
"go test ./internal/goncho ./internal/tools -count=1"
"go test ./internal/goncho ./internal/gonchotools -count=1"
],
"done_signal": [
"honcho_context schema and service fixtures prove Honcho v3 context options are discoverable, optional, and visibly degraded when not implemented."
Expand All @@ -1639,9 +1639,9 @@
{
"name": "Goncho search filter grammar",
"priority": "P4",
"status": "planned",
"status": "complete",
"contract": "Goncho search accepts a typed subset of Honcho v3 filters and rejects unsupported filter operators visibly",
"contract_status": "draft",
"contract_status": "validated",
"slice_size": "medium",
"execution_owner": "memory",
"trust_class": [
Expand Down Expand Up @@ -1672,7 +1672,7 @@
"The first executable implementation supports a documented subset and returns unsupported-filter evidence for the rest.",
"Limit defaults to 10 and clamps to the Honcho-documented maximum of 100."
],
"note": "Honcho docs expose a richer filter grammar than current Goncho sources[]. Port this as an internal AST and evidence contract before adding public HTTP search parity.",
"note": "TDD landed: Goncho SearchParams now accept Honcho-shaped filters and limit, parse an internal AST for AND, OR, NOT, gt, gte, lt, lte, ne, in, contains, icontains, metadata paths, and wildcard values, then compile only the current enforceable subset. session_id, source, and peer_id equality/in/wildcard filters narrow search; metadata, content, created_at, OR, NOT, unknown fields, and unknown operators return structured unsupported-filter errors instead of being ignored. Same-chat source/session deny paths and user-scope session/source filters are fixture-locked, and search limit defaults to 10 with a maximum of 100.",
"write_scope": [
"internal/goncho/",
"internal/memory/",
Expand Down Expand Up @@ -1726,11 +1726,11 @@
"write_scope": [
"internal/goncho/",
"internal/memory/",
"internal/tools/",
"internal/gonchotools/",
"docs/content/building-gormes/architecture_plan/progress.json"
],
"test_commands": [
"go test ./internal/goncho ./internal/memory ./internal/tools -count=1"
"go test ./internal/goncho ./internal/memory ./internal/gonchotools -count=1"
],
"done_signal": [
"Directional peer-card fixtures prove observer/observed isolation, max-card cap, and replacement semantics."
Expand Down Expand Up @@ -1826,11 +1826,11 @@
"write_scope": [
"internal/goncho/",
"internal/memory/",
"internal/tools/",
"internal/gonchotools/",
"docs/content/building-gormes/architecture_plan/progress.json"
],
"test_commands": [
"go test ./internal/goncho ./internal/memory ./internal/tools -count=1"
"go test ./internal/goncho ./internal/memory ./internal/gonchotools -count=1"
],
"done_signal": [
"Summary context fixtures prove short/long cadence, token-budget allocation, summary=false behavior, and visible degradation when no summary can fit."
Expand Down Expand Up @@ -1862,7 +1862,7 @@
"docs/content/building-gormes/goncho_honcho_memory/02-tool-schemas.md",
"docs/content/building-gormes/goncho_honcho_memory/03-honcho-docs-study.md",
"docs/content/building-gormes/goncho_honcho_memory/04-agent-work-packets.md",
"internal/tools/honcho_tools.go",
"internal/gonchotools/honcho_tools.go",
"internal/goncho/service.go"
],
"blocked_by": [
Expand All @@ -1884,11 +1884,11 @@
"note": "Honcho docs expose peer.chat as the slow query-specific reasoning path; newer host integrations call this honcho_chat or chat. Gormes should add the alias and contract before porting the full dialectic tool loop.",
"write_scope": [
"internal/goncho/",
"internal/tools/",
"internal/gonchotools/",
"docs/content/building-gormes/architecture_plan/progress.json"
],
"test_commands": [
"go test ./internal/goncho ./internal/tools -count=1"
"go test ./internal/goncho ./internal/gonchotools -count=1"
],
"done_signal": [
"Chat contract tests prove request validation, default reasoning level, response shape, host-compatible tool alias, and explicit streaming degradation."
Expand Down Expand Up @@ -1977,7 +1977,7 @@
"internal/session/directory.go",
"internal/goncho/types.go",
"internal/goncho/service.go",
"internal/tools/honcho_tools.go"
"internal/gonchotools/honcho_tools.go"
],
"blocked_by": [],
"ready_when": [
Expand All @@ -2003,11 +2003,11 @@
"write_scope": [
"internal/goncho/",
"internal/session/",
"internal/tools/",
"internal/gonchotools/",
"docs/content/building-gormes/architecture_plan/progress.json"
],
"test_commands": [
"go test ./internal/goncho ./internal/session ./internal/tools -count=1"
"go test ./internal/goncho ./internal/session ./internal/gonchotools -count=1"
],
"done_signal": [
"Topology fixtures prove the default workspace, peer ID derivation, observation defaults, and session boundary choices expected by the operator playbook."
Expand Down Expand Up @@ -2097,7 +2097,7 @@
"docs/content/building-gormes/goncho_honcho_memory/04-agent-work-packets.md",
"internal/goncho/types.go",
"internal/goncho/service.go",
"internal/tools/honcho_tools.go",
"internal/gonchotools/honcho_tools.go",
"internal/memory/schema.go"
],
"blocked_by": [
Expand All @@ -2123,12 +2123,12 @@
"note": "Honcho docs make streaming a chat-response transport detail. Goncho should preserve memory quality by treating only completed assistant messages as durable facts.",
"write_scope": [
"internal/goncho/",
"internal/tools/",
"internal/gonchotools/",
"internal/memory/",
"docs/content/building-gormes/architecture_plan/progress.json"
],
"test_commands": [
"go test ./internal/goncho ./internal/tools ./internal/memory -count=1"
"go test ./internal/goncho ./internal/gonchotools ./internal/memory -count=1"
],
"done_signal": [
"Streaming fixtures prove completed responses are persisted once and interrupted or partial chunks cannot pollute memory."
Expand Down
Loading