Skip to content

Keep locally unsafe foundation prose out of active knowledge pages - #318

Merged
tzhouam merged 5 commits into
mainfrom
fix/kb-foundation-private-address-20261006
Oct 6, 2026
Merged

tzhouam merged 5 commits into
mainfrom
fix/kb-foundation-private-address-20261006

Conversation

@tzhouam

@tzhouam tzhouam commented Oct 5, 2026 •

Copy link
Copy Markdown
Collaborator

Two native-approved foundation sections contained dotted IPv4 defaults and blocked knowledge-tree publication. The coordinator now omits each locally unsafe new section from active pages while preserving its exact raw artifact, native approval, body hash and task history.

Same-batch retry feedback recomputes the publication reason from the matching validated prior artifact and supplies a sanitized correction hint, separately from the Codex verdict. The IPv4 rule matches the existing tree validator and keeps loopback examples. Finite mode, global version4 inputs, model/source/catalog/policy identities, evidence caps, native replay and the original-plus-three-corrections limit are unchanged.

Validation: three focused regressions cover genuine archived native-pass replay with selective local exclusion, facet-specific sanitized feedback, both unsafe sections and unaffected/loopback siblings. All78 related foundation regression tests passed; independent review and CI run separately. No official knowledge, source snapshot, active runtime or stage record was edited.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-05T23:37:11.928814Z 5d0684e PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@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: 5d0684e548

ℹ️ 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".

stage.record.unfinished.extend(result["unfinished"])
accepted = []
for artifact in result["artifacts"]:
reason = local_privacy_reason(artifact["text"]) if stage.rt.unlimited_subscription else ""

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Scan generated page titles before applying artifacts

When a v4 generator puts a non-loopback IPv4 literal in the top-level title but not the section text, this check accepts the artifact and _append_approved writes that title into the frontmatter, H1, and navigation indexes. The final whole-tree privacy validator then blocks the batch, while the restored pass is treated as covered and is not offered a correction on resume, leaving that pinned batch unable to publish. Apply the local privacy check to artifact["title"] as well as the rendered text.

Useful? React with 👍 / 👎.

Comment on lines +72 to +73
if "/src/" in stem:
modules.add(stem.split("/src/", 1)[1].replace("/", "."))

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 Recognize imports from root src-layout packages

For a conventional src-layout Python package such as src/pkg/tool.py, tests normally import it as from pkg.tool import WidgetManager. This condition only removes an embedded /src/, so the candidate module set contains src.pkg.tool rather than pkg.tool; the direct import never matches and related_test_sources silently supplies no test evidence for these projects. Handle stems beginning with src/ in addition to embedded src directories.

Useful? React with 👍 / 👎.

@tzhouam
tzhouam merged commit 5d0684e into main Oct 6, 2026
1 of 2 checks passed
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