镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

docs(claude-ops): state that /loop never resets context; relaunch is the reset - #935

Merged
kyle-sexton merged 3 commits into
mainfrom
fix/551-loop-context-reset
Jul 22, 2026
Merged

kyle-sexton merged 3 commits into
mainfrom
fix/551-loop-context-reset

Conversation

@kyle-sexton

@kyle-sexton kyle-sexton commented Jul 22, 2026 •

Copy link
Copy Markdown
Member

Summary

Doc-only interim caveat to claude-ops:lanes SKILL.md: /loop never resets context — a running loop cannot /clear itself; an external fresh-session relaunch is the only reset. Patch bump + changelog entry.

Staged on fix/551-loop-context-reset and approved to ship as a standalone PR by operator ruling (ratification interview, 2026-07-22 ~03:05Z, recorded on #551). The full mechanism — per-cycle-fresh relaunch + externalized cadence handoff — continues under #551; this caveat stops readers from relying on the unenforceable "restart at ~50%" admonition in the meantime.

No linked issue (interim caveat; #551 stays open for the full mechanism).

Related

🤖 Generated with Claude Code

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ae9a43afee

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@kyle-sexton

Copy link
Copy Markdown
Member Author

Automated babysit-lane classification (safe tier — reply only; not resolving threads/merging).

# Finding Classification Evidence
1 chatgpt-codex-connector P2 — "Distinguish automatic compaction from a fresh-session reset" Fixed commit 2c081786b5c0 — doc now distinguishes context-compaction (summarizes, session continues) from a full relaunch (genuinely fresh process)

Remaining blocker: this branch's mergeStateStatus is DIRTY/CONFLICTING against main. Safe tier reports the conflict; it does not resolve it.

@claude

claude Bot commented Jul 22, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @kyle-sexton's task in 1m 16s —— View job


PR Review

  • Gather PR context and understand request
  • Read changed files
  • Review diff against origin/main
  • Verify CLAUDE.md guidelines are met
  • Post review findings

Doc-only patch bump — 3 files changed.

This PR adds a caveat section to the lanes SKILL.md clarifying that /loop never resets context and that restart (fresh-session relaunch) is the only mechanism that does. The P2 finding from the Codex review (distinguishing auto-compaction from a fresh-session reset) was addressed in commit 2c08178 before this review ran; the current diff includes that fix. The earlier reported merge conflict was resolved in the top commit (a559f25 Merge origin/main: restack claude-ops caveat entry to 0.17.5); the working tree is clean.

Overall: clean. Two nits, no blockers.


plugin.json — version bump

0.17.4 → 0.17.5 is a patch bump for a documentation-only change. Correct tier.


CHANGELOG.md — new entry

Entry is under ### Changed, which is the right Keep a Changelog category for a doc update. Format and prose match the surrounding entries.

Nit: The version header is ## [0.17.5] with no date. Keep a Changelog 1.1.0 specifies ## [x.y.z] - YYYY-MM-DD. However, every existing entry in this file already omits the date, so this is consistent with the established (if non-standard) convention in this repo. Not a blocker.


SKILL.md — new caveat section

The new section (lines 35–62) is technically accurate on all three points:

  1. /loop re-invokes in the same session via ScheduleWakeup — correct; /clear issued from a loop run is plain text to the model, not an executed command.
  2. Auto-compaction summarizes in place; it is not a reset — correct and now properly distinguished from a full relaunch (the P2 fix).
  3. restart is the only fresh-session reset and is operator-initiated, not automatic — correct; the note "Until an automatic relaunch trigger exists" appropriately scopes this as interim documentation ahead of loops/skills: /loop does not reset context per cycle — "restart at ~50%" is an unenforceable admonition, no mechanism triggers a /clear (session ran 13 cycles → ~70%) #551.

Placement (between "Purpose" and "Run it") is reasonable — operators reading the skill for the first time encounter the constraint before the action table.

Nit: The existing Cross-references section lists #480, #496, #502, and #514 but does not mention #551 (the tracking issue for the full automatic relaunch mechanism). Adding a line like - #551 (loop context-reset: automatic relaunch trigger) — the full mechanism this caveat anticipates there would make the forward pointer discoverable from the cross-reference index rather than only from the caveat body. Not a blocker; easy to address in #551's own PR if preferred.


No security, correctness, or CLAUDE.md compliance issues found. The repo-agnostic, configurable-without-editing, and plugin-form-safe design rules are not implicated by a documentation change.

@claude

claude Bot commented Jul 22, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @kyle-sexton's task in 1m 1s —— View job


Security Review — PR #935

  • Gather PR diff and changed files
  • Review plugin.json changes
  • Review CHANGELOG.md changes
  • Review SKILL.md changes
  • Synthesize findings

No security issues found.

This PR is fully doc-only. All three changed files were reviewed:

plugins/claude-ops/.claude-plugin/plugin.json — semver patch bump 0.17.4 → 0.17.5. No executable content changed.

plugins/claude-ops/CHANGELOG.md — changelog prose describing the lanes-skill documentation change. No code, no URLs, no secrets.

plugins/claude-ops/skills/lanes/SKILL.md — adds 29 lines of explanatory prose about /loop context lifecycle and auto-compaction behavior. Specifically reviewed for:

  • Prompt injection: The new text is benign descriptive documentation — no instructions that could redirect model behavior, bypass safety measures, or exfiltrate data.
  • Shell injection surfaces: The !-prefixed pre-computed context blocks (lines 12–15) that do execute shell at skill-load time are unchanged by this PR. No new execution blocks added.
  • Secrets/credentials: None present.
  • Dangerous URLs or external references: None added.
  • Permission widening: No settings, config, or workflow files touched.
  • GitHub Actions patterns: No workflow files changed; no pull_request_target, workflow_run, or run: injection surfaces introduced.
  • Supply-chain / dependency pins: No dependency changes.

The added prose accurately describes existing platform behavior and carries no exploitable surface.

kyle-sexton added a commit that referenced this pull request Jul 22, 2026
typos flagged `mis` (from "mis-assume") in the 0.17.5 caveat entry;
reworded to "wrongly assume". Unblocks the #935 hygiene lane.
@claude

claude Bot commented Jul 22, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @kyle-sexton's task in 1m 28s —— View job


PR Review — #935

  • Gather PR context and understand request
  • Read changed files and diff
  • Review against CLAUDE.md guidelines
  • Post review findings

Doc-only patch bump — 3 files, 4 commits. Clean.

This review covers the full PR including the latest commit (a430bb0), which arrived after the prior review pass at 04:48Z.


Latest commit — a430bb0

Single-line fix in CHANGELOG.md: mis-assume → wrongly assume. Correct fix — mis as a standalone token (from mis-assume) trips typo linters; wrongly assume is idiomatic and avoids the false positive. This was the only blocker left before merge; the rest of the branch was already clean per the 04:48Z review.


plugin.json

0.17.4 → 0.17.5: patch bump for a documentation-only change. Correct tier.


CHANGELOG.md

Entry under ### Changed, which is the right Keep a Changelog category. Prose is accurate and matches the SKILL.md content. The typo fix (wrongly assume) is the only delta since the last review — no new issues.

Standing nit (not a blocker): Version header ## [0.17.5] omits the date. Every existing entry in this file follows the same convention, so this is consistent even if non-standard per Keep a Changelog 1.1.0.


SKILL.md — caveat section (lines 35–62)

All three technical claims remain accurate:

Claim Verdict
/loop re-invokes via ScheduleWakeup in the same session — context carries forward Correct
/clear issued from a loop run is plain text to the model, not an executed command Correct
Auto-compaction summarizes in place; it is not a fresh-session reset Correct — P2 Codex finding addressed in 2c08178
restart is the only fresh-session reset; operator-initiated, not automatic Correct

The "Until an automatic relaunch trigger exists" scoping is accurate and appropriate interim framing for #551.

Standing nit (not a blocker): The Cross-references section lists #480, #496, #502, and #514 but not #551. A line pointing to #551 there would make the forward pointer discoverable from the cross-reference index. Deferred to #551's own PR is fine.


No security, correctness, or CLAUDE.md compliance issues found. The repo-agnostic, configurable-without-editing, and plugin-form-safe design rules are not implicated by a documentation change. Ready to merge.

@claude

claude Bot commented Jul 22, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @kyle-sexton's task in 1m 20s —— View job


Security Review — PR #935

  • Gather PR context
  • Fetch PR diff (4 commits reviewed: ae9a43a, 2c08178, a559f25, a430bb0)
  • Review changed files
  • Synthesize findings

No security issues found.

This PR is documentation-only across all four commits. Each changed file was reviewed in full:

plugins/claude-ops/.claude-plugin/plugin.json — semver version string bump 0.17.4 → 0.17.5. No executable content, no dependency changes, no permission widening.

plugins/claude-ops/CHANGELOG.md — one new changelog entry (amended by a430bb0 to fix a typo). Plain prose; no code, no URLs, no secrets.

plugins/claude-ops/skills/lanes/SKILL.md — 29 lines of explanatory prose added across two commits. Specifically checked for:

  • Prompt injection: The added text describes platform behavior (/clear reaches the model as plain text, not a command; restart is operator-initiated). No directives that could redirect model behavior, bypass safety checks, or exfiltrate data.
  • New shell execution surfaces: The existing !-prefixed pre-computed context blocks at lines 12–15 are unchanged by this PR. No new !-prefix execution blocks introduced.
  • Secrets / credentials: None present.
  • Dangerous external references: No new URLs or external resources added in any changed file.
  • Permission widening: No settings, config, or workflow files touched.
  • GitHub Actions patterns: No workflow files modified; no pull_request_target, workflow_run, run: injection surfaces, or permission-block changes.
  • Supply-chain / dependency pins: No dependency changes.

kyle-sexton and others added 3 commits July 22, 2026 09:24
…the reset

The lanes SKILL.md now documents that a /loop lane re-invokes in the same
session and cannot /clear itself, so the "restart at ~N% context" rule has no
in-session enforcement. `restart` (fresh session from the canonical prompt) is
the actual context reset, and it is operator- or launcher-initiated, not
automatic. This stops a lane prompt from mis-assuming per-cycle freshness.

Interim documentation ahead of an automatic relaunch trigger; the trigger
mechanism itself is parked pending a decision.

Co-Authored-By: Claude Opus <noreply@anthropic.com>
The lanes SKILL claimed a loop lane's context "accumulates monotonically"
and that nothing inside the loop ever resets it. Claude Code's
auto-compaction summarizes older history in place when the conversation
nears the model's input limit, so a long-running lane loses earlier
context to compaction before any operator relaunch — the session
continues on a lossy summary, which is not a fresh reset.

Clarify that auto-compaction is the automatic in-session context change,
that it only summarizes (never clears), and that restart remains the only
fresh-session reset. Fixes the P2 accuracy finding on this doc.
typos flagged `mis` (from "mis-assume") in the 0.17.5 caveat entry;
reworded to "wrongly assume". Unblocks the #935 hygiene lane.
@kyle-sexton
kyle-sexton force-pushed the fix/551-loop-context-reset branch from a430bb0 to bcb0e97 Compare July 22, 2026 13:26
@claude

claude Bot commented Jul 22, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @kyle-sexton's task in 1m 27s —— View job


PR Review — #935

  • Gather PR context
  • Review diff against origin/main
  • Check changed files
  • Post review findings

Doc-only patch bump — 3 files, 3 commits. Clean.

This review is against HEAD bcb0e97, covering all commits on the branch (9b641a2, 9951c83, bcb0e97).

Note: The PR description references 0.17.4 → 0.17.5; the actual diff is 0.18.0 → 0.18.1 — the branch was restacked against main between drafting and the current tip. The code is correct; only the PR description is stale.


plugin.json — version bump

0.18.0 → 0.18.1 is a correct patch bump for a documentation-only change.


CHANGELOG.md — new entry

New entry under ## [0.18.1] / ### Changed — the right Keep a Changelog category for a doc update. The wrongly assume phrasing (fixed in bcb0e97) is clean; no typo linter traps remain.

Standing nit (not a blocker): Version header omits the date. Every existing entry in this file does the same, so this is consistent with the established repo convention.


SKILL.md — new caveat section (lines 35–62)

All four technical claims are accurate:

Claim Verdict
/loop re-invokes via ScheduleWakeup in the same session — context carries forward ✓ Correct
/clear issued from a loop run reaches the model as plain text, not an executed command ✓ Correct
Auto-compaction summarizes in place; it is not a fresh-session reset ✓ Correct (P2 Codex finding addressed in 9951c83)
restart is the only fresh-session reset; operator- or launcher-initiated, not automatic ✓ Correct

Placement between "Purpose" and "Run it" is appropriate — operators encounter the constraint before the action table.

Standing nit (not a blocker): The Cross-references section lists #480, #496, #502, and #514 but not #551. Adding a pointer there (e.g. #551 (loop context-reset: automatic relaunch trigger) — the full mechanism this caveat anticipates) would make the forward reference discoverable from the index rather than only from the caveat body. Easy to include in #551's own PR.


No security, correctness, or CLAUDE.md compliance issues found. The repo-agnostic, configurable-without-editing, and plugin-form-safe design rules are not implicated by a documentation change. Ready to merge.

@claude

claude Bot commented Jul 22, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @kyle-sexton's task in 1m 15s —— View job


Security Review — PR #935

  • Gather PR context
  • Fetch PR diff and changed files
  • Review each changed file for security issues
  • Synthesize findings and post results

No security issues found.

This PR is documentation-only across all three changed files. Each was reviewed against the custom instruction checklist (logic flaws, injection surfaces, token/secret handling, GitHub Actions patterns, permission widening, supply-chain risk).


plugins/claude-ops/.claude-plugin/plugin.json
Semver version string bump 0.18.0 → 0.18.1. No executable content, no dependency changes, no permission changes, no new remote references.


plugins/claude-ops/CHANGELOG.md
One new changelog entry in plain prose. No code, no URLs, no secrets, no execution surfaces.


plugins/claude-ops/skills/lanes/SKILL.md
29 lines of explanatory prose added. Specifically checked for:

Surface Finding
Prompt injection The added text describes existing platform constraints (/clear is plain text to the model; restart is operator-initiated). No directives that could redirect model behavior, bypass safety checks, or exfiltrate data.
New shell execution blocks The existing !-prefixed pre-computed context blocks at lines 12–15 are unchanged by this PR. No new !-prefix execution blocks introduced.
Secrets / credentials None present.
Dangerous external references No new URLs or external resources added in any changed file.
Permission widening No settings, config, or workflow files touched.
GitHub Actions patterns No workflow files modified; no pull_request_target, workflow_run, run: injection surfaces, or permissions: block changes.
Supply-chain / dependency pins No dependency changes.

@kyle-sexton
kyle-sexton merged commit 9bb61eb into main Jul 22, 2026
20 checks passed
@kyle-sexton
kyle-sexton deleted the fix/551-loop-context-reset branch July 22, 2026 13:36
@kyle-sexton

Copy link
Copy Markdown
Member Author

Merge basis (Class B, cite-at-action-site per operating-procedures): operator ruling in handoff-7 / #607 — '#935 merge when CLEAN (operator or tower; rule-4 exempts it from merge-drive).' Restack verified independently (3-file diff exact vs main, 26/26 checks green, Codex P2 thread fix confirmed present on head bcb0e97 before resolve).

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.

1 participant