Repository navigation
add .entire/logs to .entire/.gitignore, small refactor - #3
Merged
Merged
Conversation
Entire-Checkpoint: 24ac2c6a5ad4
Entire-Checkpoint: 510c10bf7b7a
dipree
approved these changes
Jan 5, 2026
| @@ -397,11 +405,11 @@ func EnsureMetadataGitignore() error { | |||
| } | |||
|
|
|||
| // Append missing entries to gitignore | |||
Contributor
There was a problem hiding this comment.
Good catch, contentSb73 was kind of a bizare name.
6 tasks done
This was referenced May 10, 2026
Merged
5 of 6 tasks
Soph
added a commit
that referenced
this pull request
May 31, 2026
entiredb refactored the mirror surface (ENT-741, on main; ENT-743 /
entiredb#1830 merged): the by-mirror lookup is removed and delete is now
DELETE /mirrors by upstream coords, dissolving the repoId-vs-mirrorId gap.
Our committed spec predates the refactor, so the generated client still
exposes LookupRepoByMirror + DeleteMirror{MirrorID} and mirror remove
still does the two-call lookup->delete. Rewrite #3 from a workaround note
to a refresh-migration checklist: on the next spec refresh, mirror remove
collapses to one delete-by-coords call and must surface the new status
contract (404 no longer swallowed as idempotent success; 403/503/401).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Entire-Checkpoint: f583d875f660
Soph
added a commit
that referenced
this pull request
May 31, 2026
…ewire mirror remove entiredb#1820 (accurate success codes) and the ENT-741 mirror refactor are now on main, so refresh the spec and simplify against it: - normalize.go: the success-code bug is fixed upstream (creates declare 200, deletes 204), so stop collapsing success to a "2XX" range. Keep the real success code and fold only the explicit 4xx/5xx into a single "default" (all reference one ErrorModel) — still convenient errors, but ogen now returns the success type directly with no *…StatusCode wrapper. collapseTypeUnions stays: #1 (nullable-array shorthand) is still unfixed. - Drop the .Response unwraps across org/project/repo/grant/repo_mirror now that methods return (*T, error); DELETEs return plain error. - mirror remove: the by-mirror lookup endpoint is gone; call the new delete-by-coords route directly (DELETE /mirrors?provider&owner&repo& clusterHost). 404 is now a real, surfaced error, not idempotent success. - UPSTREAM.md: reframe #2 (success-code bug fixed; the error-fold that remains is a deliberate ergonomics choice retired by a shared upstream "default"); remove #3 (resolved by delete-by-coords). Net ~2.4k fewer generated lines. fmt/lint/test:ci green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Entire-Checkpoint: e7de894317fb
Soph
added a commit
that referenced
this pull request
Jun 1, 2026
…ewire mirror remove entiredb#1820 (accurate success codes) and the ENT-741 mirror refactor are now on main, so refresh the spec and simplify against it: - normalize.go: the success-code bug is fixed upstream (creates declare 200, deletes 204), so stop collapsing success to a "2XX" range. Keep the real success code and fold only the explicit 4xx/5xx into a single "default" (all reference one ErrorModel) — still convenient errors, but ogen now returns the success type directly with no *…StatusCode wrapper. collapseTypeUnions stays: #1 (nullable-array shorthand) is still unfixed. - Drop the .Response unwraps across org/project/repo/grant/repo_mirror now that methods return (*T, error); DELETEs return plain error. - mirror remove: the by-mirror lookup endpoint is gone; call the new delete-by-coords route directly (DELETE /mirrors?provider&owner&repo& clusterHost). 404 is now a real, surfaced error, not idempotent success. - UPSTREAM.md: reframe #2 (success-code bug fixed; the error-fold that remains is a deliberate ergonomics choice retired by a shared upstream "default"); remove #3 (resolved by delete-by-coords). Net ~2.4k fewer generated lines. fmt/lint/test:ci green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Entire-Checkpoint: e7de894317fb
suhaanthayyil
added a commit
that referenced
this pull request
Jun 30, 2026
Resolves the review packet on the Codex subagent change: - #1 Codex task-checkpoint UUID: documented that CheckpointUUID is Claude-format-specific (tool_result/UUID) and resolves to "" for Codex — rewind to a Codex task checkpoint restores files via the shadow tree but does not truncate the transcript (graceful fall-through; restore truncation is also Claude-only). Codex-aware line-offset truncation is a deferred follow-up. Comment at the call site + AGENT.md. - #2 Resumed-subagent token under-count: documented deliberate trade-off (chosen over the worse cross-turn double-count) + observability — logResumedOutOfRangeChildren debug-logs when a resume_agent targets a child spawned in a prior range. - #3 Regression tests: CalculateTotalTokenUsage nil-main-with-subagent-tokens unit test (guards the nil-deref); new integration test TestCodexSubagentEnd_SourcesFilesFromChildNotParent (+ SimulateCodexSubagentStart/Stop harness helpers) guarding handleLifecycleSubagentEnd's child-not-parent resolver. - #4 Debug logging across the discover→resolve→read→parse chain (readSubagentRolloutsUncached, CalculateTotalTokenUsage, spawn-output drop) so Codex wire-format drift is visible instead of silently zeroing attribution. - #5 isCodexSubagentRollout: nested source.subagent fallback for rollouts without thread_source + backward-compat test (missing marker → treated as parent turn). - #6 + nits: t.Parallel() on the pure-logic codex tests; AGENT.md PostToolUse line corrected (it IS consumed); StepTranscriptStart aligned to the resolved transcriptOffset (removes the exec/no-preState divergence; field is currently unconsumed by the strategy). go build (incl. integration tag), vet, unit + codex integration tests, lint (0) all green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Soph
added a commit
that referenced
this pull request
Jun 30, 2026
…50MB cap Address PR review (Copilot #3) and the trail finding. OPF stale compact (#3): in replaceTranscript, when compact regeneration yields nothing (failure, empty, or oversized), drop the prior transcript.jsonl and clear CompactTranscriptStart instead of leaving a stale, less-redacted compact on the branch with a marker pointing at content that no longer matches the re-redacted full.jsonl. setCompactTranscriptStart now takes *int so it can clear the marker. Regression test added. Oversized-drop (#1 / trail finding): document the known limitation — the compact transcript is not chunked, so output exceeding the 50MB blob cap is skipped and a very long session may lack transcript.jsonl on some checkpoints; full.jsonl stays authoritative and the compact is regenerable. Updated the architecture doc (also correcting the now-stale "finalization keeps the previous transcript.jsonl" clause) and CLAUDE.md. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Entire-Checkpoint: bd7061c21a95
suhaanthayyil
added a commit
that referenced
this pull request
Jul 15, 2026
Resolves the review packet on the Codex subagent change: - #1 Codex task-checkpoint UUID: documented that CheckpointUUID is Claude-format-specific (tool_result/UUID) and resolves to "" for Codex — rewind to a Codex task checkpoint restores files via the shadow tree but does not truncate the transcript (graceful fall-through; restore truncation is also Claude-only). Codex-aware line-offset truncation is a deferred follow-up. Comment at the call site + AGENT.md. - #2 Resumed-subagent token under-count: documented deliberate trade-off (chosen over the worse cross-turn double-count) + observability — logResumedOutOfRangeChildren debug-logs when a resume_agent targets a child spawned in a prior range. - #3 Regression tests: CalculateTotalTokenUsage nil-main-with-subagent-tokens unit test (guards the nil-deref); new integration test TestCodexSubagentEnd_SourcesFilesFromChildNotParent (+ SimulateCodexSubagentStart/Stop harness helpers) guarding handleLifecycleSubagentEnd's child-not-parent resolver. - #4 Debug logging across the discover→resolve→read→parse chain (readSubagentRolloutsUncached, CalculateTotalTokenUsage, spawn-output drop) so Codex wire-format drift is visible instead of silently zeroing attribution. - #5 isCodexSubagentRollout: nested source.subagent fallback for rollouts without thread_source + backward-compat test (missing marker → treated as parent turn). - #6 + nits: t.Parallel() on the pure-logic codex tests; AGENT.md PostToolUse line corrected (it IS consumed); StepTranscriptStart aligned to the resolved transcriptOffset (removes the exec/no-preState divergence; field is currently unconsumed by the strategy). go build (incl. integration tag), vet, unit + codex integration tests, lint (0) all green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Soph
added a commit
that referenced
this pull request
Sep 21, 2026
…ical faults MUST #2: nested directories were created 0o750 while the store root is 0o700, so the property this branch documents was not delivered where the transcripts actually land — Copilot, Cursor and Codex all write into nested directories. TestSessionStore_CreatesNestedDirectories0700 pins the root and both levels below it. MUST #3: four sites reported ErrOutsideSessionStore for a problem decided without consulting any store — an empty path, a dot component, a rooted reference, and a relative reference escaping its own base. `<store>/./s.jsonl` cleans to a file INSIDE the store, so "path is outside the agent's session directory" named the wrong problem, which is the argument ErrUnsafeSessionName's own doc comment makes. They report ErrUnsafeSessionName now. ValidateExternalSessionRef says in its doc comment that it can only produce that sentinel, since containment is ValidateExternalWriteRef's answer to give. Three external test cases move with them; "absolute outside store" and "rooted path" still reach Name's Rel branch on Unix and stay containment failures. N2: only one committed assertion reached the missing-leaf walk, and it needed a single strip — an implementation with no loop at all passed the whole suite. Two references now force it past one iteration (several missing components, and a missing store under a symlinked ancestor), and I verified a leaf-only mutant fails both. N3: restoredSessionFile's rejection branch shipped untested. Codex validates its own answer and so cannot produce the case, so the test scripts a resolver: inside is accepted, outside and a resolver error both warn and fall back. N1: the built-in write path compares lexically and has no realpath retry. That is deliberate — its SessionRef is derived from the same GetSessionDir result the store was opened with, so there is only one speller, whereas an external plugin reports its directory and returns its reference independently. Said so at nameAcrossSymlinks rather than leaving the asymmetry for the next reader. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Entire-Checkpoint: 01M325VJD3HQAGMW8QVTF4F8FT
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This adds the
.entire/logsfolder to.entire/.gitignoretoo. We don't want to commit this.Also: