Skip to content

Add documentation for cross-run memory problem - #770

Merged
ralphbean merged 6 commits into
fullsend-ai:mainfrom
dhshah13:patch-1
May 8, 2026
Merged

Add documentation for cross-run memory problem#770
ralphbean merged 6 commits into
fullsend-ai:mainfrom
dhshah13:patch-1

Conversation

@dhshah13

@dhshah13 dhshah13 commented May 8, 2026

Copy link
Copy Markdown
Contributor

Document the cross-run memory problem and proposed solutions for agents learning from prior outcomes. Outline the mechanisms for recording, storing, and injecting memory while maintaining sandbox constraints.

Document the cross-run memory problem and proposed solutions for agents learning from prior outcomes. Outline the mechanisms for recording, storing, and injecting memory while maintaining sandbox constraints.
@github-actions

github-actions Bot commented May 8, 2026

Copy link
Copy Markdown

fullsend review is working on this — view logs

@github-actions

github-actions Bot commented May 8, 2026

Copy link
Copy Markdown

Site preview

Preview: https://b7e61e2b-site.fullsend-ai.workers.dev

Commit: 5de594f9774b0ff66491b2682fb3f18bc8d7fea3

@fullsend-ai-review

fullsend-ai-review Bot commented May 8, 2026

Copy link
Copy Markdown

Review: #770

Head SHA: 5de594f
Timestamp: 2026-05-08T00:00:00Z
Outcome: approve

Summary

This PR adds a new problem document (docs/problems/cross-run-memory.md) exploring how agents can learn from prior run outcomes without violating the ephemeral sandbox invariant, along with a corresponding entry in README.md. The document is well-structured, follows the established problem-document conventions (problem statement, current state, tensions, constraints, relationship to other areas, open questions), and correctly identifies memory as both a useful capability and a security/governance risk. No correctness, security, or injection concerns were found.

Findings

Info

  • [style/conventions] docs/problems/cross-run-memory.md — The new entry in README.md is appended after "Platform Nativeness" at the end of the problem doc list. The existing list follows a loose chronological/thematic ordering rather than strict alphabetical, so this placement is consistent with the existing pattern.

  • [correctness] docs/problems/cross-run-memory.md:5 — The document references ../architecture.md#14-retro-agent-runtime and security-threat-model.md#threat-5-agent-to-agent-prompt-injection. Both anchors were verified to exist and resolve correctly.

  • [intent-alignment] — The PR title says "Add documentation for cross-run memory problem" and the change is exactly that: a new problem document with a README link. Scope is appropriate — no code changes, no policy modifications, no guardrail alterations.

Footer

Outcome: approve
This review applies to SHA 5de594f9774b0ff66491b2682fb3f18bc8d7fea3. Any push to the PR head clears this review and requires a new evaluation.

Previous run

Review: #770

Head SHA: 7b3635d
Timestamp: 2026-05-08T00:00:00Z
Outcome: approve

Summary

This PR adds a well-structured problem document for cross-run memory and links it from the README. The document follows established conventions for problem docs in this repo: it opens with a framing question, explores the problem space with multiple perspectives and trade-offs (rather than prescribing a single solution), identifies security implications (memory as an attack surface for prompt injection), and closes with substantive open questions. All cross-references to other docs (architecture.md, security-threat-model.md, codebase-context.md, testing-agents.md, operational-observability.md, agent-architecture.md) were verified and resolve correctly. The README entry is placed consistently with existing entries. No code changes, no security concerns, no injection patterns detected.

Findings

Info

  • [style] docs/problems/cross-run-memory.md:88 — The open questions section references "the output schema (ADR 0022)" without hyperlinking it, while other docs in the repo typically hyperlink ADR references (e.g., [ADR 0022](../ADRs/0022-harness-level-output-schema-enforcement.md)). Minor consistency nit.

Footer

Outcome: approve
This review applies to SHA 7b3635d256b925a9bbdff3d1f3dec7ee18e44621. Any push to the PR head clears this review and requires a new evaluation.

Previous run (2)

Review: #770

Head SHA: 16a1e54
Timestamp: 2026-05-08T00:00:00Z
Outcome: comment-only

Summary

This PR adds a well-structured problem document exploring cross-run memory for agents, following the established pattern of other docs in docs/problems/. The document is thorough, correctly scoped as design exploration, and consistent with the project's conventions. Two minor issues found: a typo and a missing hyperlink. Neither is blocking.

Findings

Medium / Low / Info

  • [style/conventions] docs/problems/cross-run-memory.md:68 — Typo: "hemory summaries" should be "memory summaries" in the Operational Observability bullet under "Relationship to other problem areas."
    Remediation: Fix the typo.

  • [style/conventions] docs/problems/cross-run-memory.md:6 — The phrase "(architecture doc)" is not hyperlinked. Other problem docs use explicit relative links (e.g., [architecture.md](../architecture.md)). This makes the reference harder to follow.
    Remediation: Replace (architecture doc) with a relative Markdown link to docs/architecture.md.

Footer

Outcome: comment-only
This review applies to SHA 16a1e54c80643360efa082eab200a0b654cdb115. Any push to the PR head clears this review and requires a new evaluation.

Previous run (3)

Review: #770

Head SHA: 80bd95b
Timestamp: 2026-05-08T00:00:00Z
Outcome: comment-only

Summary

This PR adds a well-structured problem document for cross-run memory that follows the existing problem doc pattern and aligns with the project's design exploration approach. The document correctly identifies the problem, references existing mechanisms, proposes a harness-mediated solution that respects the ephemeral sandbox invariant, and includes open questions as required. Two minor issues were found: the README.md is not updated to link the new problem area (required by CLAUDE.md), and there is a typo in the operational observability section.

Findings

Medium

  • [style/conventions] README.md — CLAUDE.md states: "When adding new problem areas, create a new file in docs/problems/ and link it from README.md." This PR adds docs/problems/cross-run-memory.md but does not add a corresponding entry to the README's problem document index.
    Remediation: Add a line to the problem list in README.md, e.g.: - [Cross-Run Memory](docs/problems/cross-run-memory.md) — How agents learn from prior run outcomes without violating the ephemeral sandbox invariant

Low

  • [correctness] docs/problems/cross-run-memory.md:67 — Typo: "hemory summaries" should be "memory summaries" in the Operational observability bullet under "Relationship to other problem areas."
    Remediation: Change "hemory" to "memory."

Footer

Outcome: comment-only
This review applies to SHA 80bd95b231ee58876f7627f90a134be7db329a07. Any push to the PR head clears this review and requires a new evaluation.

Previous run (4)

Review: #770

Head SHA: 6de7c1c
Timestamp: 2026-05-08T00:00:00Z
Outcome: comment-only

Summary

This PR adds a well-structured problem document for cross-run memory that follows the existing problem document conventions, presents multiple options with trade-offs, and includes an open questions section. The document is sound in content and correctly preserves sandbox security invariants in its proposed design. One convention gap: the repo's CLAUDE.md requires new problem documents to be linked from README.md, which this PR does not do.

Findings

Medium

  • [style/conventions] README.md — New problem document docs/problems/cross-run-memory.md is not linked from the README document index. CLAUDE.md explicitly requires: "When adding new problem areas, create a new file in docs/problems/ and link it from README.md." The new entry should be added to the problem document list (around line 37, after Operational Observability or in alphabetical/logical order).
    Remediation: Add a line like - [Cross-Run Memory](docs/problems/cross-run-memory.md) — How agents learn from prior run outcomes without violating the ephemeral sandbox invariant to the problem document list in README.md.

Info

  • [style/conventions] docs/problems/cross-run-memory.md:9 — The document refers to "Building Block 14" but the architecture doc names it "14. retro agent runtime" (section heading style). Consider using the canonical name or linking directly to the architecture doc section for consistency.
    Remediation: Change "(Building Block 14)" to a link, e.g., "(§14 retro agent runtime)".

Footer

Outcome: comment-only
This review applies to SHA 6de7c1c5ef5d915b01a7f99d328a84bea3923e26. Any push to the PR head clears this review and requires a new evaluation.

@github-actions

github-actions Bot commented May 8, 2026

Copy link
Copy Markdown

fullsend review is working on this — view logs

@github-actions

github-actions Bot commented May 8, 2026

Copy link
Copy Markdown

fullsend review is working on this — view logs

@github-actions

github-actions Bot commented May 8, 2026

Copy link
Copy Markdown

fullsend review is working on this — view logs

Comment thread docs/problems/cross-run-memory.md Outdated
@github-actions

github-actions Bot commented May 8, 2026

Copy link
Copy Markdown

fullsend review is working on this — view logs

@ralphbean ralphbean left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good problem document — well-structured, stays in problem-space, and the memory-poisoning threat analysis is substantive. Two small link issues to fix before merge.

Comment thread docs/problems/cross-run-memory.md Outdated

## The memory problem

Agents are stateless by default. Each run starts with no working knowledge of prior attempts on the same repository. The sandbox is ephemeral by design: "Created per-run, destroyed after extraction. No state carries between runs" ([architecture.md](../architecture.md#key-invariants-visible-in-this-layout)). This is a sound security and isolation decision, but it has a compounding cost: agents rediscover the same lessons on every run.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[moderate] The fragment #key-invariants-visible-in-this-layout targets bold inline text in architecture.md (line 485: **Key invariants visible in this layout:**), not a markdown heading. GitHub only generates anchor IDs for headings, so this link will land at the top of architecture.md instead of the intended section.

Suggestion: drop the fragment and link to ../architecture.md plain, or link to the nearest actual heading (e.g. ../architecture.md#abstract-model).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, fixed by dropping the fragment and linking to ../architecture.md directly. The target text was not a heading, so the plain doc link is cleaner here.

- How should future agents distinguish system-derived facts from agent-authored interpretations?
- Can non-review-gated memory be made safe enough, or should all durable memory promotion go through reviewed repo instructions or skills?
- How should memory interact with separate agent roles? Should triage memory ever influence review behavior directly?
- What retention model prevents stale memory from dominating: time-based, count-based, outcome-based, or explicit supersession?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nit] Other docs in the repo hyperlink ADR references (e.g. [ADR 0023](../ADRs/0023-user-documentation-structure.md)). This one is plain text. Consider: [ADR 0022](../ADRs/0022-harness-level-output-schema-enforcement.md).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I ended up removing the ADR-specific reference.

@github-actions

github-actions Bot commented May 8, 2026

Copy link
Copy Markdown

fullsend review is working on this — view logs

@github-actions

github-actions Bot commented May 8, 2026

Copy link
Copy Markdown

fullsend review is working on this — view logs

@ralphbean ralphbean left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review: #770

Head SHA: 5de594f
Timestamp: 2026-05-08T20:00:00Z
Outcome: approve

Summary

Solid problem document that stays firmly in problem space, integrates well with the existing document set, and adds substantive analysis — particularly the memory-poisoning threat scenario and the three-way categorization of memory types. All internal links verified correct. Prior review feedback has been addressed. One minor cross-reference suggestion noted inline but not blocking.

Findings

Info

  • [cross-reference] docs/problems/cross-run-memory.md:72 — The Constraints section mentions org-level memory scoping but doesn't link to the multi-org deployment model in architecture.md. A cross-reference would strengthen the connection but is not required.

Footer

Outcome: approve
This review applies to SHA 5de594f9774b0ff66491b2682fb3f18bc8d7fea3. Any push to the PR head clears this review and requires a new evaluation.

- **Memory must be scoped.** Lessons from one repository should not silently leak into another repository, and lessons from one organization should not leak into another organization.
- **Memory must be attributable.** Future agents and human reviewers should be able to see where a remembered fact came from: which run, which role, which issue or PR, and whether it was system-derived or agent-authored.
- **Memory must decay.** Some lessons become wrong. A useful memory system needs a way to expire, supersede, or promote entries.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nit] The constraint about org-level memory scoping is well stated. Consider adding a cross-reference to the multi-org deployment model section in architecture.md — it would strengthen the connection to existing architectural vocabulary. Not blocking.

@ralphbean

Copy link
Copy Markdown
Member

Thanks @dhshah13 !

@ralphbean
ralphbean added this pull request to the merge queue May 8, 2026
Merged via the queue into fullsend-ai:main with commit b152a5b May 8, 2026
53 checks passed
ralphbean added a commit that referenced this pull request May 11, 2026
Add lychee as a pre-commit hook and standalone `make lint-md-links`
target to catch broken in-repo links and anchors in markdown files.

Fix all existing broken links:
- Wrong anchor fragment in ADR 0002 (heading was renamed)
- Missing "repo-" in ADR 0013 filename (2 references)
- Dangling self-improvement-flywheel.md links → point to closed PR #43
- Dangling experiments/guardrails-eval links → point to fullsend-ai/experiments repo
- Wrong relative paths for ADR 0019 from web/ and web/admin/
- Wrong relative path for ADR 0023 from skills/writing-user-docs/
- Dangling design doc link in a plan checklist

Noticed the need for this in PR #770.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
github-actions Bot deleted the patch-1 branch June 14, 2026 07:18
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.

2 participants