knowledge: 21 insights — fork-PR secret gates, review-bot exit codes, dict-subclass copy loss, iterative DFS, citation sweep, plugin-prose identity leak, xcodegen regen loss, narration ordering tests, autouse shadowing, stub contracts, real-CLI spot checks (+8 merges, 1 fold onto #183) - #188
Open
choiyounggi wants to merge 1 commit into
Open
knowledge: 21 insights — fork-PR secret gates, review-bot exit codes, dict-subclass copy loss, iterative DFS, citation sweep, plugin-prose identity leak, xcodegen regen loss, narration ordering tests, autouse shadowing, stub contracts, real-CLI spot checks (+8 merges, 1 fold onto #183)#188choiyounggi wants to merge 1 commit into
choiyounggi wants to merge 1 commit into
Conversation
Wiki agent gate: failReview of PR #188 (choiyounggi/dev-loop, 21-insight knowledge flush: 12 new wiki pages, 8 merges into existing pages, 1 fold onto PR #183) was split across 8 parallel background agents applying the three-check rubric from .github/wiki-agent-gate-prompt.md (transferability, semantic duplication, fact-check via WebFetch of cited sources and local repo evidence). All 8 agents were still running when this output had to be produced, so no findings have been confirmed or refuted yet. This result is provisional — treat it as "review incomplete," not as a genuine gate failure, and re-run once the background agents' findings are consolidated.
|
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.
Knowledge flush — 21 insight(s)
Run: auto-flush headless child (run id
20260908-154254-28665), queue drained from 14 session files (21 claimed rows). Outcome: 12 new pages, 8 merges into existing pages, 1 fold onto open PR #183, 0 drops. Lint after ingest:wiki-structure-checks.js288 pages / 13 indexes / 0 findings;wiki-lint-prohibitions.jsdirectives 75 / violations 0 (count unchanged, so the bats pin needs no bump); every touched page ≤ 120 body lines.Verified best-practice
Five research agents vetted each candidate against primary sources (WebFetch/curl of official docs and source code, plus local reproductions where a claim was runnable). Confidence per candidate:
New pages
infrastructure-ci-cd-secret-needing-gate-on-fork-prs— verified. GitHub docsevents-that-trigger-workflows#pull_request_target("With the exception of GITHUB_TOKEN, secrets are not passed to the runner when a workflow is triggered from a forked repository"; "Running untrusted code on the pull_request_target trigger may lead to security vulnerabilities"); GitHub Security Lab "Preventing pwn requests" ("Combining pull_request_target workflow trigger with an explicit checkout of an untrusted PR is a dangerous practice"); anthropics/claude-code-actiondocs/security.md("Do not check out an untrusted ref into the workspace root"; "Preferred — check out the base ref (default)"). Local: dev-loopwiki-agent-gate.yml+ 12 bats tests read directly. Note: the "instruction-shaped diff text is a finding" stance is this repo's gate prompt, not security.md — cited accordingly.infrastructure-ci-cd-review-bot-adopted-as-a-blocking-gate— verified. alibaba/open-code-reviewaction.yml(result written to/tmp/ocr-result.json; "Fail job on OCR error" keyed on exit code),cmd/opencodereview/review_cmd.goreviewResultError("non-zero only for a run-level failure, or when every selected item failed. Any usable coverage — even incomplete — exits 0"),scripts/github-actions/post-review-comments.js(everycreateReviewusesevent: "COMMENT", zeroREQUEST_CHANGES/setFailedmatches in 2657 lines),sarif.goexists.infrastructure-agent-orchestration-tool-retirement-knowledge-transplant— field-tested. dev-loop PR wiki: methodology transplant from retired superpowers/compound-engineering plugins (8 new pages, 3 amended) #130 fetched via gh: 14 + ~30 skills inventoried, 8 gaps ported, skip list in log.md, lint 0 findings. No external canonical source for the methodology found; not upgraded.backend-python-language-dict-subclass-attribute-loss-on-copy— verified. Python reference "A dictionary display yields a new dictionary object";copydocs "copy.copy() normally returns an instance of the same type" (both quotes re-fetched by curl this run); local python3 3.14.6 reproduction (subclass attr lost underdict()/{**}; preserved undercopy.copy;getattrdefault silent vs direct accessAttributeError).backend-python-language-iterative-dfs-for-unbounded-graph-depth— verified.sys.getrecursionlimit/setrecursionlimitdocs; What's New 3.12 "The recursion limit now applies only to Python code. Builtin functions do not use the recursion limit, but are protected by a different mechanism" (re-fetched by curl this run; the agent's discuss.python.org source was replaced with the official page); local reproduction: recursive DFS on a 2000-chain raisesRecursionError, iterative completes with matching cycle output.qa-document-verification-sweeping-pre-gate-citations-for-fabrication— field-tested. dev-loop issue wiki 소급 감사: 팩트 blocker 33건(24페이지) + advisory 정리 #156 fetched via gh (8 agents, ~440 fetches, 270/270 pages, 33 blockers on 24 pages, per-category breakdown; the page reports the breakdown rather than the monolithic "33 citation defects"). External LLM-citation-hallucination papers confirm the phenomenon, not the sweep methodology.qa-process-session-identity-leak-in-plugin-prose— field-tested. Incident re-verified: installed marketplace copy + two cached plugin versions contain no occurrence of the leaked name. 12factor.net/config cited as analogy only ("strict separation of config from code"); the page itself does not contain the user's personal name.platforms-toolchains-regeneration-silently-drops-hand-edited-state— verified. XcodeGen README ("Generate projects on demand and remove your .xcodeproj from git"), Docs/FAQ.md ("you can also check it in as a halfway step"), issues #515 (GUI-created shared schemes "will be overwritten the next time they generate") and #572 ("running xcodegen will overwrite that xcscheme file"). Field: 118 pbxproj lines + xcscheme deleted by xcodegen 2.45.4 on a one-key change.testing-quality-narration-based-ordering-assertions— field-tested. AppleterminationHandlerAPI doc confirms the invariant class; the mutation narrative is session-relayed (no repo located) and stated as such in the page.testing-mocking-autouse-fixture-shadows-function-under-test— verified. pytest monkeypatch how-to ("monkeypatch.setattr must be called before the function which will use the patched function is called"; "All modifications will be undone after the requesting test function or fixture has finished"), fixtures how-to (autouse fixtures run as setup "even though neither test requested it").testing-quality-cross-task-stub-assertions— field-tested. The cited commitde8c07cand HANDOFF.md §5 item 18 were read directly in the source checkout (git show), confirming the placeholder-text → root-class rewrite.testing-strategy-real-cli-spot-check-for-new-execution-paths— field-tested. Commitse761ed3,b25ff04,656d763and HANDOFF.md §5 item 19 read directly (git show): ENOENT cwd hang and permit-scope deadlock, both "found by the coordinator's real-CLI spot check".Merges
13.
security-data-commit-identity-in-public-repos— verified. git-log pretty formats (%ae/%ce), git-filter-repo docs (--mailmap"rewriting author, committer, and tagger names and emails";--replace-message), github.blog changelog 2019-12-19 ("we will automatically credit every commit author in the pull request as a co-author on the squash commit"). Note: the docs.github.com "about pull request merges" page does not state the trailer behavior; the changelog does.14.
security-data-masking-verification— field-tested (page stays field-tested). The OWASP API3:2023 fetch was not completed by the agent, so it is NOT cited. Evidence is the direct read of the mask implementation and the two bypassing read endpoints.15.
infrastructure-agent-orchestration-session-completion-gates— verified. Leonxlnx/unlazyscripts/stop-hook.mjs(MAX_BLOCKS = 6, ledger-hash no-progress counter) and CHANGELOG (1.0.0 instruction-only → 2.0.0 gate files + Stop hook) fetched; dev-loophooks/loop-gate.shGate 2 +tests/loop-gate.batsread directly. The candidate's claim that loop-gate.sh is self-report-only was wrong (Gate 2 already exists); the page documents the mechanism, not the mischaracterization.16.
debugging-methodology-probe-path-vs-operation-path— field-tested row on a verified page (84/84 events, store-state polling viauseRunStore.getState()).17.
frontend-state-effects-usage— verified. react.dev removing-effect-dependencies ("Object and function dependencies can make your Effect re-synchronize more often than you need"), useRef reference ("Changing a ref does not trigger a re-render"), Lenispackages/core/src/lenis.tsupdateClassName()togglinglenis-scrolling/lenis-stopped.18.
platforms-toolchains-flag-availability-at-the-execution-site— verified. code.claude.com CLI reference documents--max-turns; local reproduction on claude 2.1.263 (--helphas zero matches;-p --max-turns 3 --output-format jsonreturnsis_error:false).19.
qa-document-verification-editing-a-gated-document— verified by reproduction in this repo (wiki-lint-prohibitions.jsprintsdirectives: 75, bats pins the same literal). PR #151 numbers could not be re-fetched by that agent (401) and are cited as field evidence.20.
infrastructure-agent-orchestration-worktree-isolated-workers— verified. gitignore docs (.gitignore= distributed via clone;$GIT_COMMON_DIR/info/exclude= repository-local), git-worktree docs; local reproduction: from a linked worktreegit rev-parse --git-path info/excluderesolves to the main.git/info/exclude, and one pattern silencedgit statusin both checkouts.Fold
21. Multi-line
CHECK:truncation ingate-check.sh— verified by source read (skills/loop-implement/scripts/gate-check.sh:117-118, no wildcard case) and a scratch-dir reproduction (exit=2: unexpected EOF while looking for matching quotevsexit=0 matched: WSGI_APP_OKon one line). Folded onto PR #183 (see Open-PR check).Existing-layer check
Routing went INDEX.md → domain
index.md→ every page whose "load when" overlapped; second-domain indexes were read where the queue's domain tag was doubtful (eaa97ef1 tagged platforms → infrastructure; 5f1e60e7 tagged platforms → qa; 27598bf7/15c19bc4 untagged → testing, the domain that owns the test artifact per AGENTS.md routing step 1).Pages read: infrastructure-ci-cd-secrets-handling, infrastructure-ci-cd-pipeline-structure, infrastructure-ci-cd-changed-files-only-gates, qa-process-llm-review-pipelines, infrastructure-agent-orchestration-session-completion-gates, infrastructure-agent-orchestration-control-signals-vs-primary-artifacts, infrastructure-agent-orchestration-worktree-isolated-workers, infrastructure-agent-orchestration-session-context-token-budget, qa-process-scope-purity-checks, backend-python-language-mutable-state-traps, databases-transactions-optimistic-vs-pessimistic-locking, security-data-masking-verification, security-data-pii-handling, backend-common-change-impact-call-site-enumeration, backend-common-change-impact-cross-module-consumer-census, debugging-methodology-probe-path-vs-operation-path, debugging-methodology-hypothesis-testing, debugging-methodology-reproduce-first, security-data-commit-identity-in-public-repos, security-secrets-secrets-in-code, qa-process-adversarial-change-review, qa-process-defect-class-resweep-after-review, security-dependencies-agent-skill-supply-chain, platforms-tools-plugin-mcp-server-registration, backend-common-llm-binding-instructions-for-agents, qa-document-verification-spec-document-gates, qa-document-verification-editing-a-gated-document, qa-deliverables-quantitative-claims-in-a-published-document, frontend-state-effects-usage, frontend-design-html-in-canvas, platforms-toolchains-compiler-sysroot-on-macos, platforms-toolchains-version-management, platforms-toolchains-environment-resync-removes-undeclared-packages, platforms-toolchains-flag-availability-at-the-execution-site, platforms-processes-non-interactive-cli-invocation, testing-quality-tests-that-cannot-fail, testing-quality-mutation-harness-file-custody, testing-async-async-testing, testing-mocking-captured-call-arguments, testing-quality-source-text-wiring-assertions, testing-mocking-what-to-mock, testing-data-test-data-and-isolation, testing-quality-stale-artifact-baselines, testing-strategy-test-level-choice, qa-process-completion-claims, testing-quality-checks-that-cannot-pass
Overlaps and outcomes:
--help-as-source-of-truth row), editing-a-gated-document (author side → reviewer-side pinned-count row), worktree-isolated-workers (ignored state dirs → where the ignore pattern lives).Open-PR check
Open
knowledge/*heads listed viagh pr listand fetched: #187 (knowledge/choiyounggi-20260906-213635), #186 (…-20260906-013856), #185 (…-20260906-003745), #183 (…-20260904-133717), #182 (…-20260903-214027), #181 (…-20260903-203836), #180 (…-20260903-184706), #179 (…-20260903-172728). Each candidate was diffed against every head'swiki/changes (138 page entries summarized, overlapping pages read viagit show origin/<head>:<path>).Per-candidate verdicts:
testing/quality/gate-parsing-vs-command-execution.md, which covers the same script and case family but not this failure mode. Not re-ingested here; the exact edge-case row + source bullet is posted as a comment on PR knowledge: 9 insights — fresh-context review, gate parser/executor split, coordinator under tmux, sun_path limit, REPL sentinel await, allowlist bypass reproduction, version-drift gate, mock ts at emit (+3 folds onto #180/#181, 1 stale drop) #183 for the owner to fold in (the page does not exist on main, so it cannot be edited on this branch).workflow-authored-pull-requests(bot-PR/ruleset, different failure) and knowledge: 12 insights — sequential ids across parallel workers, inbound-validation task ownership, vendor benchmark claims, element crop screenshots, WebFetch summary vs raw page, Steps-prose guarantees, split fact-check verdicts (+4 folds, 1 dup) #182llm-review-pipelines(byte-identical to main); acd8c8f6 vs knowledge: 12 insights — sequential ids across parallel workers, inbound-validation task ownership, vendor benchmark claims, element crop screenshots, WebFetch summary vs raw page, Steps-prose guarantees, split fact-check verdicts (+4 folds, 1 dup) #182/knowledge: 12 insights — workflow file that registers no triggers, workflow-authored PRs (create-PR setting, personal-repo ruleset, GITHUB_TOKEN checks, --auto), Firecrawl main-content vs contact details, testcontainers community namespace, pointer-attracted particle collapse, producer wire format in mocks (+5 merges incl. Homebrew clang SDKROOT contradiction reconciled) #187 (none touch exit-code gating); eaa97ef1 vs knowledge: 9 insights — fresh-context review, gate parser/executor split, coordinator under tmux, sun_path limit, REPL sentinel await, allowlist bypass reproduction, version-drift gate, mock ts at emit (+3 folds onto #180/#181, 1 stale drop) #183session-completion-gatesand knowledge: 8 insights — SwiftPM executable-target tests, off-screen macOS capture without Screen Recording, Testcontainers reaper on Docker Desktop, ciphertext orphaned by a regenerated key, model-coupled guidance aging detector, CORS preflight probe silence, queued-candidate store check, literal-constant re-assertion (+3 folds onto #181, 1 pending-duplicate drop) #186/knowledge: 12 insights — deny rules under bypass, merged-tree gate, worker verify command, Kotlin daemon heap, extracted-method this (+7 merges) #179control-signals-vs-primary-artifacts(related-only / orchestrator-side, no ledger-gate content; my additions append to section ends to minimize textual conflict with knowledge: 9 insights — fresh-context review, gate parser/executor split, coordinator under tmux, sun_path limit, REPL sentinel await, allowlist bypass reproduction, version-drift gate, mock ts at emit (+3 folds onto #180/#181, 1 stale drop) #183); 39d73731 vs knowledge: 8 insights — SwiftPM executable-target tests, off-screen macOS capture without Screen Recording, Testcontainers reaper on Docker Desktop, ciphertext orphaned by a regenerated key, model-coupled guidance aging detector, CORS preflight probe silence, queued-candidate store check, literal-constant re-assertion (+3 folds onto #181, 1 pending-duplicate drop) #186model-coupled-guidance-aging-detector(temporal staleness detector, not citation accuracy — no fold); a3e368c1 vs knowledge: 12 insights — workflow file that registers no triggers, workflow-authored PRs (create-PR setting, personal-repo ruleset, GITHUB_TOKEN checks, --auto), Firecrawl main-content vs contact details, testcontainers community namespace, pointer-attracted particle collapse, producer wire format in mocks (+5 merges incl. Homebrew clang SDKROOT contradiction reconciled) #187reproduce-first(assertion-boundary of an existing test vs live layer probing — adjacent, cross-linked, not folded); 44ebf34c vs knowledge: 12 insights — workflow file that registers no triggers, workflow-authored PRs (create-PR setting, personal-repo ruleset, GITHUB_TOKEN checks, --auto), Firecrawl main-content vs contact details, testcontainers community namespace, pointer-attracted particle collapse, producer wire format in mocks (+5 merges incl. Homebrew clang SDKROOT contradiction reconciled) #187pointer-attracted-particle-fields(sibling canvas page, different case); 7b689559 vs knowledge: 8 insights — SwiftPM executable-target tests, off-screen macOS capture without Screen Recording, Testcontainers reaper on Docker Desktop, ciphertext orphaned by a regenerated key, model-coupled guidance aging detector, CORS preflight probe silence, queued-candidate store check, literal-constant re-assertion (+3 folds onto #181, 1 pending-duplicate drop) #186 "literal-constant re-assertion" row and knowledge: 12 insights — deny rules under bypass, merged-tree gate, worker verify command, Kotlin daemon heap, extracted-method this (+7 merges) #179 (unrelated); 1db78612 vs knowledge: 12 insights — dropzone copy vs drop handlers, destination-in mask chaining, media-query inset reset, spatial clamp, env restore vs pop, synthetic-corpus floor, plan-claim recompute, multi-name command -v, alert suppression key, sibling validators (+2 folds) #181synthetic-corpus-measurement-floor(pigeonhole floor, unrelated); 15c19bc4 vs knowledge: 12 insights — deny rules under bypass, merged-tree gate, worker verify command, Kotlin daemon heap, extracted-method this (+7 merges) #179verify-command-in-a-worker-brief(venv path in a brief, different mechanism); 27598bf7 vs knowledge: 12 insights — dropzone copy vs drop handlers, destination-in mask chaining, media-query inset reset, spatial clamp, env restore vs pop, synthetic-corpus floor, plan-claim recompute, multi-name command -v, alert suppression key, sibling validators (+2 folds) #181checkable-claims-in-an-adopted-plan(plan numeric claims, different); 4b17b2af vs knowledge: 12 insights — deny rules under bypass, merged-tree gate, worker verify command, Kotlin daemon heap, extracted-method this (+7 merges) #179worktree-isolated-workers(adds an item on the same directories but not where the ignore pattern lives); 0e9f9b6d vs knowledge: 9 insights — fresh-context review, gate parser/executor split, coordinator under tmux, sun_path limit, REPL sentinel await, allowlist bypass reproduction, version-drift gate, mock ts at emit (+3 folds onto #180/#181, 1 stale drop) #183non-interactive-cli-invocation(related-id only); 158ef7ac, d30e0ceb, e9ed0c65, 600d2698, 70ebcc34, 5f1e60e7, f9f7e64e, c36cb938 — no open head touches a relevant page.Deferred
related:links (target ids not on main yet; add after the PR merges):frontend-design-pointer-attracted-particle-fields(#187) ↔ effects-usage;infrastructure-agent-orchestration-checkable-claims-in-an-adopted-plan(#181) ↔ cross-task-stub-assertions;infrastructure-agent-orchestration-verify-command-in-a-worker-brief(#179) ↔ real-cli-spot-check;qa-document-verification-model-coupled-guidance-aging-detector(#186) ↔ sweeping-pre-gate-citations;testing-quality-gate-parsing-vs-command-execution(#183) ↔ session-completion-gates.Routing decision
No new category or domain was created; every candidate fit an existing category.
Domain indexes updated: infrastructure (+3 rows, 2 rows refreshed), backend/python (+2), qa (+2, 1 refreshed), platforms (+1, 1 refreshed), testing (+4), security (2 refreshed), debugging (1 refreshed), frontend (1 refreshed). INDEX.md unchanged (existing domain route lines already cover the new pages).
tests/wiki-lint-prohibitions.batspin untouched (directive count still 75).