Skip to content

feat(compaction): make post-compaction context sections configurable#34556

Merged
jalehman merged 5 commits intoopenclaw:mainfrom
efe-arv:fix/configurable-post-compaction-sections
Mar 6, 2026
Merged

feat(compaction): make post-compaction context sections configurable#34556
jalehman merged 5 commits intoopenclaw:mainfrom
efe-arv:fix/configurable-post-compaction-sections

Conversation

@efe-arv
Copy link
Copy Markdown
Contributor

@efe-arv efe-arv commented Mar 4, 2026

Abstract

This patch introduces a configuration primitive, agents.defaults.compaction.postCompactionSections, that decouples the post-compaction context injection mechanism from its previously hardcoded section-name constants. The change resolves the inability of non-default deployments to specify which sections of AGENTS.md should be re-injected into the agent context following a compaction event, without requiring source-level modification.

Background

When a session compaction occurs, OpenClaw re-injects a subset of the workspace AGENTS.md file into the agent context to preserve operational continuity. Prior to this change, the set of extracted sections was statically defined within post-compaction-context.ts as ["Session Startup", "Red Lines"]. This design assumption precluded any deployment that organises its AGENTS.md under alternative heading names from receiving meaningful post-compaction context, and produced spurious WORKFLOW_AUTO.md resolution warnings as a downstream effect.

Specification

The new field is defined on AgentCompactionConfig as:

/**
 * H2/H3 section names from AGENTS.md to inject after compaction.
 * Defaults to ["Session Startup", "Red Lines"] when unset.
 * Set to [] to disable post-compaction context injection entirely.
 */
postCompactionSections?: string[];

The runtime resolver applies the following precedence rule:

  1. If postCompactionSections is an explicit empty array ([]), injection is suppressed entirely and the function returns null.
  2. If postCompactionSections is a non-empty array, the specified names are used in place of the defaults.
  3. If the field is absent (undefined), the legacy default ["Session Startup", "Red Lines"] is applied — preserving full backward compatibility.

Section name matching remains case-insensitive and supports both H2 and H3 Markdown headings, consistent with the existing extractSections contract.

Changes

File Change
src/config/types.agent-defaults.ts New postCompactionSections?: string[] field on AgentCompactionConfig
src/config/zod-schema.agent-defaults.ts Runtime validation: z.array(z.string()).optional()
src/config/schema.labels.ts Control UI label for the new field
src/auto-reply/reply/post-compaction-context.ts Config-aware section resolution with defined fallback semantics
src/auto-reply/reply/post-compaction-context.test.ts 6 new test cases covering: default fallback, config override, multi-section, explicit opt-out, missing section, case-insensitive matching

Verification

npx vitest run src/auto-reply/reply/post-compaction-context.test.ts
# Tests: 20 passed (20)

All pre-existing tests pass without modification, confirming backward compatibility.

Closes #33792

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Mar 4, 2026

Greptile Summary

This PR makes the post-compaction context injection configurable via a new agents.defaults.compaction.postCompactionSections field, replacing a hardcoded ["Session Startup", "Red Lines"] pair. The implementation is clean, backward-compatible, and well-tested (20 tests passing).

  • Config field added to AgentCompactionConfig type, Zod schema, and UI labels — all consistent.
  • Runtime reads the config at call time with a correct Array.isArray guard to distinguish undefined (use defaults) from [] (opt-out).
  • extractSections correctly handles multi-section extraction, code-block skipping, and case-insensitive matching.
  • One issue: the injected prose message on line 89 still hardcodes "Execute your Session Startup sequence now" and "Critical rules from AGENTS.md:", regardless of which sections are actually configured. Deployments using custom section names will confuse the agent with references to a non-existent "Session Startup" section, partially defeating the purpose of the feature.

Confidence Score: 3/5

  • Safe to merge for the default case, but custom section configs will inject misleading instructions that reference a hardcoded "Session Startup" section name.
  • The feature logic is structurally correct and fully backward-compatible. The one meaningful bug — hardcoded section-name references in the injected prose — will cause agents to be instructed to execute a "Session Startup sequence" that doesn't exist when deployments use custom section names, undermining the feature's core value proposition.
  • src/auto-reply/reply/post-compaction-context.ts — the static return string (lines 87–92) needs to be updated to avoid referencing "Session Startup" when custom sections are configured.

Last reviewed commit: a3b0269

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Mar 4, 2026

Additional Comments (1)

src/auto-reply/reply/post-compaction-context.ts, line 91
Hardcoded "Session Startup" reference breaks custom section configs

The injected post-compaction message on line 89 always tells the agent to "Execute your Session Startup sequence now", regardless of what postCompactionSections is configured to. If a deployment sets postCompactionSections: ["Boot Sequence", "Hard Rules"], the AI will be instructed to execute a "Session Startup sequence" that doesn't exist in their AGENTS.md, undermining the entire purpose of making the injection configurable.

Similarly, the label "Critical rules from AGENTS.md:" is accurate for the default Red Lines section but misleading when arbitrary sections (e.g., onboarding steps, workflow docs) are injected.

Consider deriving the startup section name from the configured list, or making the message more generic:

    return (
      "[Post-compaction context refresh]\n\n" +
      "Session was just compacted. The conversation summary above is a hint, NOT a substitute for your startup sequence. " +
      "Execute your startup sequence now — read the required files before responding to the user.\n\n" +
      `Critical sections from AGENTS.md:\n\n${safeContent}\n\n${timeLine}`
    );

Copy link
Copy Markdown

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

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: a3b0269969

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines +59 to +62
const configuredSections = cfg?.agents?.defaults?.compaction?.postCompactionSections;
const sectionNames = Array.isArray(configuredSections)
? configuredSections
: DEFAULT_POST_COMPACTION_SECTIONS;
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Make startup reminder align with configured section names

This change allows arbitrary postCompactionSections, but the injected post-compaction message still hardcodes “Execute your Session Startup sequence now.” If a deployment configures only non-Session Startup sections (for example ['Boot Sequence'] or just safety sections), the runtime now sends contradictory guidance: it extracts custom sections yet still instructs the agent to run a section name that may not exist. In those configs this can reintroduce the same false “missing startup section/file” behavior the change is trying to eliminate.

Useful? React with 👍 / 👎.

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.

Fixed in 9b470853f (same session, pushed before this review fired).

The prose now branches explicitly on whether the active section set matches the default ["Session Startup", "Red Lines"] pair:

const prose = isDefaultSections
  ? "...Execute your Session Startup sequence now..."
  : `Re-read the sections injected below (${sectionNames.join(", ")}) and follow your configured startup procedure...`;

Deployments using custom sections (e.g. ["Boot Sequence"]) receive prose that names their actual sections — no reference to "Session Startup" is injected. Default deployments are fully backward compatible.

Two regression tests verify both branches:

  • does NOT reference "Session Startup" in prose when custom sections are configured
  • uses default "Session Startup" prose when default sections are active

22/22 tests passing.

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.

Fixed in 9b47085 — the injected prose now adapts to the configured section names instead of hardcoding 'Session Startup'. When custom sections are configured, the message references those section names directly.

@efe-arv
Copy link
Copy Markdown
Contributor Author

efe-arv commented Mar 4, 2026

Greptile finding is valid and addressed in 9b470853f.

The injected prose now branches on whether the active section set matches the default ["Session Startup", "Red Lines"] pair:

  • Default sections → original prose preserved ("Execute your Session Startup sequence now") — fully backward compatible
  • Custom sections → generic prose that names the actual configured section(s), e.g. "Re-read the sections injected below (Boot Sequence, Hard Rules) and follow your configured startup procedure"

Two regression tests cover both branches. 22/22 passing.

@efe-arv efe-arv force-pushed the fix/configurable-post-compaction-sections branch from f1530f3 to ef5def0 Compare March 4, 2026 20:33
Copy link
Copy Markdown

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

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: ef5def06f8

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

? "Session was just compacted. The conversation summary above is a hint, NOT a substitute for your startup sequence. " +
"Execute your Session Startup sequence now — read the required files before responding to the user."
: `Session was just compacted. The conversation summary above is a hint, NOT a substitute for your full startup sequence. ` +
`Re-read the sections injected below (${sectionNames.join(", ")}) and follow your configured startup procedure before responding to the user.`;
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Describe only sections that were actually injected

In readPostCompactionContext, custom-mode prose is built from sectionNames.join(", ") (the configured list), not from the sections that extractSections actually found. If config requests multiple headings and only some exist in AGENTS.md, the function still returns context but claims all configured sections were injected, which can send the agent looking for non-existent headings and recreate misleading “missing section” behavior in partially migrated setups.

Useful? React with 👍 / 👎.

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.

Fixed in 678cd65 — prose now references only section names that were actually found in the extracted content (matched by heading regex), so partially migrated setups won't reference non-existent headings. 22/22 tests passing.

Copy link
Copy Markdown

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

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: 678cd651c3

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines +76 to +79
const rawCombined = sections.join("\n\n");
const foundSectionNames = sectionNames.filter((name) =>
new RegExp(`^#{2,3}\\s+${name.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}\\s*$`, "mi").test(
rawCombined,
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Derive injected section names from extraction results

The new foundSectionNames detection can report sections that were not actually injected because it regex-scans sections.join("\n\n") for heading text instead of using extraction metadata. In particular, extractSections intentionally ignores headings inside fenced code blocks, but those lines are still present in extracted section content, so a code block containing ## <configured-name> will make displayNames include that missing section. This reintroduces misleading post-compaction prose in repos whose AGENTS sections include markdown examples.

Useful? React with 👍 / 👎.

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.

Fixed in 2c31a12 — replaced regex-based heading detection with an extractSections output parameter (foundNames). Now extractSections pushes the section name only when it actually matches a heading outside code blocks, so code block examples containing ## SectionName won't false-match.

@efe-arv efe-arv force-pushed the fix/configurable-post-compaction-sections branch from 678cd65 to 2c31a12 Compare March 4, 2026 21:17
Copy link
Copy Markdown

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

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: 2c31a1256b

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines 69 to 72
const sections = extractSections(content, sectionNames, foundSectionNames);

if (sections.length === 0) {
return null;
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Preserve legacy section fallback when defaults are absent

With postCompactionSections unset, this path now extracts only Session Startup/Red Lines and immediately returns null when those headings are missing, which drops the previous fallback to legacy Every Session/Safety sections. Any workspace still using older AGENTS templates will therefore lose post-compaction context injection after this commit, even though other compaction code paths still treat those legacy names as supported; please keep a fallback (or alias mapping) so existing deployments don’t silently regress.

Useful? React with 👍 / 👎.

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.

Fixed in 444d6c4 — when using defaults (no explicit postCompactionSections), the code now falls back to legacy section names (Every Session / Safety) if the current headings aren't found. Explicitly configured sections skip the fallback. 22/22 tests passing.

Copy link
Copy Markdown

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

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: eab55e2dec

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

// Fall back to legacy section names ("Every Session" / "Safety") when using
// defaults and the current headings aren't found — preserves compatibility
// with older AGENTS.md templates.
if (sections.length === 0 && !Array.isArray(configuredSections)) {
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Apply legacy fallback for explicit default section config

When agents.defaults.compaction.postCompactionSections is explicitly set to ['Session Startup', 'Red Lines'], this condition skips the legacy fallback path and returns null on older AGENTS.md files that only have Every Session/Safety. In contrast, leaving the field unset still falls back successfully, so explicitly pinning the documented defaults changes behavior and can silently disable post-compaction context injection in partially migrated deployments.

Useful? React with 👍 / 👎.

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.

Fixed in 5e8f31d — the legacy fallback condition now also triggers when postCompactionSections is explicitly set to the default pair (["Session Startup", "Red Lines"]). Explicitly pinning the documented defaults now behaves identically to leaving the field unset. Added a dedicated test case for this scenario. 23/23 tests passing.

Copy link
Copy Markdown

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

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: 5e8f31d6d6

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines +79 to +81
configuredSections.length === DEFAULT_POST_COMPACTION_SECTIONS.length &&
configuredSections.every(
(s, i) => s.toLowerCase() === DEFAULT_POST_COMPACTION_SECTIONS[i].toLowerCase(),
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Treat default section pair as order-insensitive

isExplicitDefaults uses index-by-index comparison, so postCompactionSections: ["Red Lines", "Session Startup"] is treated as a custom config instead of the default pair. In that case legacy fallback (Every Session/Safety) is skipped, and older AGENTS.md templates return null, silently disabling post-compaction context injection even though the same two default section names were configured.

Useful? React with 👍 / 👎.

@efe-arv efe-arv force-pushed the fix/configurable-post-compaction-sections branch from 5e8f31d to 722f7b0 Compare March 6, 2026 05:56
Copy link
Copy Markdown

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

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: 722f7b0fcc

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines +80 to +81
configuredSections.every(
(s, i) => s.toLowerCase() === DEFAULT_POST_COMPACTION_SECTIONS[i].toLowerCase(),
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Compare explicit default sections without order dependence

The explicit-default check uses index-by-index comparison, so postCompactionSections: ["Red Lines", "Session Startup"] is treated as a custom set instead of the documented defaults. In workspaces that still use legacy AGENTS.md headings (Every Session/Safety), this causes the legacy fallback path to be skipped and readPostCompactionContext returns null, silently disabling post-compaction reinjection just because the two default names were listed in a different order.

Useful? React with 👍 / 👎.

@efe-arv efe-arv force-pushed the fix/configurable-post-compaction-sections branch from 722f7b0 to eddf528 Compare March 6, 2026 13:23
@jalehman jalehman self-assigned this Mar 6, 2026
@jalehman jalehman force-pushed the fix/configurable-post-compaction-sections branch from eddf528 to 138116d Compare March 6, 2026 21:27
@openclaw-barnacle openclaw-barnacle bot added the channel: feishu Channel integration: feishu label Mar 6, 2026
@jalehman jalehman force-pushed the fix/configurable-post-compaction-sections branch 3 times, most recently from 1189d1b to 67c504f Compare March 6, 2026 22:39
@openclaw-barnacle openclaw-barnacle bot removed the channel: feishu Channel integration: feishu label Mar 6, 2026
@jalehman jalehman force-pushed the fix/configurable-post-compaction-sections branch from 67c504f to 1bfcf88 Compare March 6, 2026 22:42
@openclaw-barnacle openclaw-barnacle bot added docs Improvements or additions to documentation gateway Gateway runtime labels Mar 6, 2026
@jalehman jalehman force-pushed the fix/configurable-post-compaction-sections branch from 1bfcf88 to 17d8031 Compare March 6, 2026 22:43
jalehman added a commit to efe-arv/openclaw that referenced this pull request Mar 6, 2026
@jalehman jalehman force-pushed the fix/configurable-post-compaction-sections branch from 17d8031 to fa4d5b4 Compare March 6, 2026 22:54
liri-ha and others added 5 commits March 6, 2026 14:55
Rebased on upstream main. Squashed all commits.

- Add agents.defaults.compaction.postCompactionSections config field
- Adapt injected prose to reference configured section names
- Only reference sections actually found via extractSections foundNames
- Default: ['Session Startup', 'Red Lines'] preserves existing behavior
- 22/22 tests passing
When using default sections and 'Session Startup'/'Red Lines' headings
aren't found, fall back to legacy 'Every Session'/'Safety' names.
Only applies when postCompactionSections is not explicitly configured.
When postCompactionSections is explicitly set to ['Session Startup', 'Red Lines']
(the documented defaults), the legacy fallback to 'Every Session'/'Safety' was
skipped — silently disabling post-compaction context on older AGENTS.md templates.

Now explicitly pinning the defaults behaves identically to leaving the field unset.
23/23 tests passing.
@jalehman jalehman force-pushed the fix/configurable-post-compaction-sections branch from fa4d5b4 to 491bb28 Compare March 6, 2026 22:56
@jalehman jalehman merged commit 03b9aba into openclaw:main Mar 6, 2026
10 of 11 checks passed
@jalehman
Copy link
Copy Markdown
Contributor

jalehman commented Mar 6, 2026

Merged via squash.

Thanks @efe-arv!

vincentkoc pushed a commit to BryanTegomoh/openclaw-fork that referenced this pull request Mar 8, 2026
…penclaw#34556)

Merged via squash.

Prepared head SHA: 491bb28
Co-authored-by: efe-arv <[email protected]>
Co-authored-by: jalehman <[email protected]>
Reviewed-by: @jalehman
Saitop pushed a commit to NomiciAI/openclaw that referenced this pull request Mar 8, 2026
…penclaw#34556)

Merged via squash.

Prepared head SHA: 491bb28
Co-authored-by: efe-arv <[email protected]>
Co-authored-by: jalehman <[email protected]>
Reviewed-by: @jalehman
jenawant pushed a commit to jenawant/openclaw that referenced this pull request Mar 10, 2026
…penclaw#34556)

Merged via squash.

Prepared head SHA: 491bb28
Co-authored-by: efe-arv <[email protected]>
Co-authored-by: jalehman <[email protected]>
Reviewed-by: @jalehman
dhoman pushed a commit to dhoman/chrono-claw that referenced this pull request Mar 11, 2026
…penclaw#34556)

Merged via squash.

Prepared head SHA: 491bb28
Co-authored-by: efe-arv <[email protected]>
Co-authored-by: jalehman <[email protected]>
Reviewed-by: @jalehman
senw-developers pushed a commit to senw-developers/va-openclaw that referenced this pull request Mar 17, 2026
…penclaw#34556)

Merged via squash.

Prepared head SHA: 491bb28
Co-authored-by: efe-arv <[email protected]>
Co-authored-by: jalehman <[email protected]>
Reviewed-by: @jalehman
V-Gutierrez pushed a commit to V-Gutierrez/openclaw-vendor that referenced this pull request Mar 17, 2026
…penclaw#34556)

Merged via squash.

Prepared head SHA: 491bb28
Co-authored-by: efe-arv <[email protected]>
Co-authored-by: jalehman <[email protected]>
Reviewed-by: @jalehman
alexey-pelykh pushed a commit to remoteclaw/remoteclaw that referenced this pull request Mar 20, 2026
…penclaw#34556)

Merged via squash.

Prepared head SHA: 491bb28
Co-authored-by: efe-arv <[email protected]>
Co-authored-by: jalehman <[email protected]>
Reviewed-by: @jalehman

(cherry picked from commit 03b9aba)
alexey-pelykh pushed a commit to remoteclaw/remoteclaw that referenced this pull request Mar 20, 2026
…penclaw#34556)

Merged via squash.

Prepared head SHA: 491bb28
Co-authored-by: efe-arv <[email protected]>
Co-authored-by: jalehman <[email protected]>
Reviewed-by: @jalehman

(cherry picked from commit 03b9aba)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Improvements or additions to documentation gateway Gateway runtime size: M

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Make post-compaction required reads configurable (avoid hardcoded WORKFLOW_AUTO.md warnings)

4 participants