Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

EPIC: Native Agent Memory and Repository Engineering Knowledge

Open
#331 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
1/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
python, sqlite

Research direction

This is a planning-only EPIC whose work is split across #324, #325 and #326, with blockers listed in the issue; there is no implementation entry point to start from. Read the child issues and their blockers to understand the sequence. Done means the children meet their exit criteria, including measured usefulness, while keeping the feature optional and off by default.

Written by the indexing model from the issue text.

Description

Type: standalone, optional EPIC. Created: 2026-10-25 (UTC) by the Memory-first reconciliation of EPIC #315, against main at f04db5f (state protocol 12). Planning only: nothing here is implemented, and creating this EPIC authorizes no runtime change.

Objective

Provide AutoForge-native, controller-owned, provenance-aware engineering knowledge that outlives one Issue's active execution:

  • replaceable, authorized retrieval;
  • review-gated Repository Knowledge;
  • safe long-term correction and retraction;
  • scoped cross-issue reuse;
  • optional offline consolidation;
  • measured end-to-end usefulness.

Relationship to #315

The Issue Working Memory MVP stays in EPIC #315: #317 (the controller-owned MemoryStore) and its single-agent integration (DEL-A5 under #315). This EPIC builds on them and is optional. #315's core MVP never depends on this EPIC, and no native edge points from this EPIC into #315's core. This EPIC consumes #316's ratified memory architecture and #317's store.

Children (native sub-issues)

Issue Scope Native blocked_by
#324 [DEL-B0] Native retrieval API; SQLite FTS5 as the default; optional LTSearch feasibility #316, #317
#325 [DEL-C0] Review-gated Repository Knowledge promotion, correction and lifecycle #317, #324
#326 [DEL-C3] Offline, checkpointed consolidation that produces review proposals #316, #317, #325

The three moved here from #315 on 2026-10-25 and kept their numbers, task IDs and history. A → B means B is natively blocked_by A:

#316 + #317 → #324
#317 + #324 → #325
#316 + #317 + #325 → #326

#316 and #317 are children of #315; the scheduler reads a blocker in another EPIC by the same rule (epic_graph.blocker_satisfaction: satisfied only when closed as completed).

Architecture

  • Authority. The controller-owned MemoryStore (#317) is the only authority for a record's lifecycle, scope, visibility and revocation. Every retrieval re-authorizes against the current store.
  • Retrieval. SQLite FTS5 is the default, no-service backend. LTSearch is an optional feasibility candidate only, after licence, security and measured-benefit review (#324).
  • Projections, not authority. Indexes are rebuildable projections. A retraction is enforced immediately by the authoritative read, even while an index lags.
  • Approval. Cross-issue knowledge is used only after explicit approval; #325 is the sole approval authority. No model score, extraction or passing task promotes a lesson.
  • Durable correction. Retractions and rejections survive rebuild, replay and backfill.
  • Consolidation. #326 generates proposals only; it never changes approved knowledge before #325 review.
  • No mandatory third-party runtime, no cross-repository sharing by default, no agent plugins or skills, no transcript capture.
  • Delivery to agents. Live search_memory / fetch_memory calls need a provider capability that does not exist today: AgentRequest (src/autoforge/providers.py:281) has no controller-tool callback. Until such a capability is designed and approved, retrieval only feeds the controller-rendered, read-only projection.
  • Storage. The authoritative store and the FTS5 projection are separate decisions. A pathname-opened SQLite database and its journal or WAL sidecars do not inherit SafeRoot's guarantees by default; #316 decides how they are met.

Exit criteria

  • #324: a typed retriever that rechecks authority on every hit and reports freshness truthfully; FTS5 works with no service, network or embeddings; LTSearch has a measured go/no-go.
  • #325: an explicit approval gate; one verified lesson from issue A is recalled in issue B; revocation is immediate; no cross-repository leakage.
  • #326: replay-safe, checkpointed proposals that change no approved knowledge before #325 review.
  • Measured usefulness against #318's baseline, reported as an optional arm of #323 or on this EPIC.
  • Default off; no regression of controller authority; persisted changes coordinated on #23 before a number is taken; no Public Alpha #255 gate.

Out of scope

Anything #315's core MVP needs; a generic RAG platform; hosted services; automatic promotion; changes to controller-owned GitHub effects, the sandbox boundary, single-agent defaults or the #176 scheduler.

Coordination

  • #23: state-protocol numbering; this EPIC's needs are part of the 2026-10-25 coordination request there.
  • #184: queue placement (appended as an optional phase; the owner decides when it starts).
  • #315: the Issue Working Memory MVP this EPIC extends.
Dominant language
Python
Stars
0
Forks
0
Avg merge
5h 51m
Merged PRs (30d)
73

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from iceboundrock/AutoForge

All issues in iceboundrock/AutoForge

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.