Skip to content

knowledge: 6 insights — gate EVIDENCE exit-code class (unset CLAUDE_PLUGIN_ROOT), jq . rebinding in predicates, worker-reported plan contradiction, benchmark speedup attribution, sequential-dispatch test under a thread pool, lock-protection race-window test (6 new pages, 0 merges, 0 drops) - #189

Open
choiyounggi wants to merge 1 commit into
mainfrom
knowledge/choiyounggi-20260910-162026

Conversation

@choiyounggi

Copy link
Copy Markdown
Owner

Knowledge flush — 6 insight(s)

Run: auto-flush headless child (run id 20260910-161926-53458), queue drained from 3 session files (6 claimed rows, none previously processed). Outcome: 6 new pages, 0 merges, 0 folds, 0 drops. Lint after ingest: wiki-structure-checks.js 282 pages / 13 indexes / 0 findings; wiki-lint-prohibitions.js directives 75 / violations 0 (count unchanged, so the bats pin needs no bump); every new page ≤ 120 body lines (56–75). Six research agents vetted one candidate each against primary sources; local reproductions were run where the claim was runnable, and every cited URL was fetched or search-confirmed live this run.

Verified best-practice

  1. infrastructure-agent-orchestration-gate-evidence-exit-code-class (16f22ec2) — verified. GNU Bash manual "Exit Status" ("If a command is not found … returns a status of 127. If a command is found but is not executable, the return status is 126"); POSIX XCU §2.6.2 Parameter Expansion (an unset ${parameter} with no modifier substitutes nothing, so ${CLAUDE_PLUGIN_ROOT}/skills/… becomes /skills/…); code.claude.com plugins reference (${CLAUDE_PLUGIN_ROOT} is substituted only in skill/agent content, hook/monitor commands, MCP and LSP server fields — no plain-shell export documented). Source read of dev-loop v1.21.0: templates/plan-gates.md leaves the variable live for gate-check.sh's bash -c; gate-check.sh records exit=<code>: <output> with no 126/127 special-casing; plan-gate.sh documents its own codes 0/2/3/4. Field: the candidate's ledger went met=1 unmet=4 (all exit=127) → met=5 unmet=0 with the variable exported and no file edited.
  2. platforms-tools-jq-dot-rebinding-in-predicates (3564214d) — verified. jqlang.org manual (pipe rebinds .: ".a | . | .b is the same as .a.b"; index(s) on an array input is a subsequence search; IN(s); any(gen; cond)), identical wording in the 1.6 manual; Stack Overflow 48898983 (scalar index is the one-element special case of subsequence search). Local reproduction on jq-1.7.1-apple: ["a","b"] as $arr | ["b","zzz"] | any(.[]; $arr | index(.) != null)true even for an input sharing nothing with $arr; . as $x | $arr | index($x) != null and any(.[]; IN($arr[])) discriminate correctly; ["a","b"] | index(["a","b"])0. Field site confirmed by source read: dev-loop skills/orchestrate/scripts/graph-drop.sh:67.
  3. infrastructure-agent-orchestration-worker-reported-plan-contradiction (d7a0cae5) — field-tested. Supporting sources: Python sqlite3 docs (IntegrityError and OperationalError are both subclasses of DatabaseErrorError, so except sqlite3.Error swallows an IntegrityError a test asserts propagates — verified); Anthropic "Building multi-agent systems" (verification subagent must "run the complete test suite before marking as passed") and "How we built our multi-agent research system" (lead agent synthesizes subagent results as evidence) support the general resolve-by-running principle; principles-wiki DRY entry (a single source of truth is what stops representations diverging). No primary source names the exact design-doc-vs-step-file case, so the page stays field-tested; the field run is quoted (2 failed, 242 passed, both failures DatabaseError wrapping IntegrityError).
  4. debugging-performance-attributing-a-benchmark-speedup (048faa67) — verified. Brendan Gregg "Active Benchmarking" ("you benchmark A, but actually measure B, and conclude you've measured C"); Gregg "Evaluating the Evaluation: A Benchmarking Checklist" ("what is the limiting factor?"; a firewall timeout measured as server latency); Gernot Heiser "Systems Benchmarking Crimes" (a measured delta does not follow from the change believed to cause it; compare against the real, correctly configured baseline). Field: bench_pipeline.py:354 built the baseline with delay_seconds=0.0 while local_scraper.py:126 read default_config.DELAY_SECONDS (3.0) — the credited removed sleep cost nothing in the measurement.
  5. testing-quality-sequential-dispatch-assumption-under-concurrency (28c88c5f) — verified. Python concurrent.futures docs (submit() schedules and returns a Future; default max_workers = min(32, cpu+4); shutdown(cancel_futures=True) cancels only not-yet-started futures); Fowler "Eradicating Non-Determinism in Tests"; Google Testing Blog "Where do our flaky tests come from" (concurrency changes as a measured cause). Local reproduction, CPython 3.14.6: 3 tasks, max_workers=4, task 1 sets an Event checked at each task's top → ran: [0, 1, 2]; max_workers=1ran: [0, 1]. Field: test_shutdown_stops_after_current_company deterministically red (call_count 3 vs 1) after the ThreadPoolExecutor migration, 265/266 on repeated runs.
  6. testing-quality-proving-a-critical-section-is-lock-protected (5d88d302) — verified. Python FAQ "What kinds of global value mutation are thread-safe?" (D[x] = D[x] + 1 is not atomic); sys.setswitchinterval docs; Google Testing Blog "Mutation Testing" (a test proves detection only if it fails when the guarded behavior is removed); Python free-threading HOWTO for the 3.13+ caveat. Local reproduction, CPython 3.14.6 with GIL: plain dict +=, 16 threads × 10, no lock → 160 in 20/20 trials (0 races); __setitem__-sleeping dict subclass, no lock → 10 in 10/10 trials; with with lock: → 160 in 10/10. The candidate arrived as a prohibition ("don't rely on raw stress") and was rewritten as the positive directive with the prohibition kept only as an Instead of row.

Existing-layer check

Routing went INDEX.md → domain index.md → every page whose "load when" overlapped; a second domain index was read wherever the queue tag was doubtful (d7a0cae5 tagged backend → infrastructure/agent-orchestration, the domain that owns the coordinator/worker process; 048faa67 tagged qa → debugging/performance, which already hosts the sibling Gregg-sourced benchmark page; 28c88c5f/5d88d302 → testing/quality rather than testing/async or testing/flaky, since both concern a test's ability to fail, not async code or intermittent failures).

Pages read: testing-quality-checks-that-cannot-pass, debugging-signals-reading-error-messages, platforms-environment-path-resolution, platforms-shells-command-text-inspected-before-execution, infrastructure-config-path-valued-config, infrastructure-agent-orchestration-session-completion-gates, infrastructure-agent-orchestration-control-signals-vs-primary-artifacts, platforms-tools-plugin-mcp-server-registration, platforms-shells-portable-shell-scripts, platforms-shells-escapes-in-shell-string-literals, platforms-processes-parsing-cli-structured-output, testing-quality-tests-that-cannot-fail, testing-quality-guard-shape-vs-consequence, infrastructure-agent-orchestration-autonomous-decision-rulings, infrastructure-agent-orchestration-unattended-worker-questions, infrastructure-agent-orchestration-shared-run-state, qa-process-evaluating-review-feedback, backend-common-llm-binding-instructions-for-agents, debugging-methodology-hypothesis-testing, qa-deliverables-quantitative-claims-in-a-published-document, qa-process-completion-claims, debugging-performance-profile-before-optimizing, debugging-methodology-probe-path-vs-operation-path, testing-quality-harness-reverse-controls, testing-async-async-testing, testing-flaky-diagnosing-flaky-tests, testing-quality-behavior-not-implementation, backend-common-concurrency-shared-state-and-pools, backend-python-concurrency-gil-and-concurrency-model, backend-node-runtime-graceful-shutdown, debugging-concurrency-intermittent-failures, testing-quality-mutation-harness-file-custody, testing-quality-write-path-assertions, backend-common-concurrency-distributed-locks

Read from open-PR branches only (not on main): testing-quality-gate-parsing-vs-command-execution (#183), infrastructure-agent-orchestration-checkable-claims-in-an-adopted-plan (#181), infrastructure-agent-orchestration-verify-command-in-a-worker-brief and -semantic-conflicts-after-parallel-merge (#179), infrastructure-agent-orchestration-inbound-validation-ownership-in-task-decomposition (#182), infrastructure-agent-orchestration-forward-references-in-a-numbered-protocol (#180), backend-common-llm-vendor-benchmark-claims-for-an-llm-tool (#182), testing-quality-narration-based-ordering-assertions and testing-quality-cross-task-stub-assertions (#188).

Overlaps and outcomes:

Open-PR check

Open knowledge/* heads listed via gh pr list --search "head:knowledge/" and fetched: #188 (knowledge/choiyounggi-20260908-154412), #187 (…-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's wiki/ changes (git diff origin/main origin/<head> -- wiki/, grepped for the candidate's key terms, overlapping pages read via git show origin/<head>:<path>).

Per-candidate verdicts:

Routing decision

No new category or domain was created; every candidate fit an existing category.

Candidate Target
16f22ec2 infrastructure/agent-orchestration/gate-evidence-exit-code-class.md (new; sits beside session-completion-gates and control-signals-vs-primary-artifacts, the category's other gate/signal-interpretation pages)
3564214d platforms/tools/jq-dot-rebinding-in-predicates.md (new; tools per the bsd-vs-gnu-cli precedent for CLI-tool semantics — not shells, which owns quoting/portability)
d7a0cae5 infrastructure/agent-orchestration/worker-reported-plan-contradiction.md (new; queue tag backend overridden — the directive is coordinator/worker process, the sqlite3 fact is illustrative evidence)
048faa67 debugging/performance/attributing-a-benchmark-speedup.md (new; queue tag qa overridden — qa/deliverables recomputes static counts, this diagnoses why a measured number moved)
28c88c5f testing/quality/sequential-dispatch-assumption-under-concurrency.md (new; testing/quality over testing/async because the case is a test's validity under a dispatch-model change, and over testing/flaky because the failure is deterministic)
5d88d302 testing/quality/proving-a-critical-section-is-lock-protected.md (new; same reasoning; debugging/concurrency's intermittent-failures is linked as the diagnose-side counterpart)

@choiyounggi choiyounggi added the dev-loop:knowledge Auto-opened wiki knowledge ingest PR (owner reviews & merges) label Sep 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dev-loop:knowledge Auto-opened wiki knowledge ingest PR (owner reviews & merges)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant