Skip to content

docs(adr): design independent anti-bot and site reputation engines - #3

Draft
seonghobae wants to merge 1 commit into
docs/adr-challenge-resolutionfrom
docs/independent-access-reputation-engines
Draft

seonghobae wants to merge 1 commit into
docs/adr-challenge-resolutionfrom
docs/independent-access-reputation-engines

Conversation

@seonghobae

Copy link
Copy Markdown
Contributor

Purpose

Plan and design an independent outbound anti-bot access/challenge engine and an evidence-based site reputation engine without turning Wardnet's WAF/IDS/SOC core into either product.

Stack and review boundary

Depends on #1; this PR targets docs/adr-challenge-resolution, not develop. The parent was refreshed to 24ee7474f02457418b120018f4c6ba6c99de66b9 before publication. It legitimately advanced during preparation and added ecosystem ADR 0003, so this PR uses ADR 0004 and 0005, preserves parent README and ADR 0001-0003 byte-for-byte, and does not overwrite the parallel semantic-frontier foundation.

Keep this draft until the parent-first integration path is resolved. After #1 integrates, re-evaluate ancestry, retarget/reconcile this child, and obtain exact-head review/checks against the intended protected base. Do not infer protected-base readiness from a stacked-base result. No merge is requested or performed by this change.

Deliverables

  • ADR 0004: independent Rust anti-bot core and standalone entry point; coherent presentation, durable pacing, mandatory functioning supported-class CAPTCHA/bot-management resolution, and independently observed post-conditions.
  • ADR 0005: independent site reputation core and standalone entry point; separate security, source reliability, access friction and coverage/freshness; no universal unvalidated site score.
  • Product/technical specification: ownership matrix, Mermaid composition diagram, proposed typed contracts, optional ThreatObservationV1 boundary, state/effect durability, PostgreSQL adapters, resource profiles, privacy, cache invalidation and 13 acceptance scenarios.
  • Separate implementation plans with eight independently verifiable slices, exact proposed paths and failure/acceptance cases.
  • Research record with eight primary standard/academic references, including three academic records; no third-party PDF redistribution is assumed.
  • ADR index links the new proposed decisions while retaining accepted parent decisions.

Important invariants

The two cores depend on neither each other nor waf-ids-core nor planner internals. They are independently versioned capabilities initially incubated in Veilpick, not implemented packages in this PR. OriginWeave retains runtime/authority ownership; contextual-orchestrator and RankWeave ownership is not copied. Wardnet may supply optional evidence, never an authoritative reputation score or solver.

A CAPTCHA or 403/429 is not a negative source-reliability judgment. No feed match is not proof of safety. STIX producer confidence is not maliciousness probability. Missing source metadata is not synthesized: current Wardnet rows lacking sufficient provenance cannot become fresh destination findings. Resolver invocation is not verified resolution; an unattended failure is not autonomous success. Stealth remains separately evaluated, not replaced by solving.

Verification performed

Seven Markdown files passed 73 local structural/contract assertions: relative paths (including verified parent-tree paths), UTF-8/newline/whitespace, balanced fences, no placeholders, preserved autonomy and ownership requirements, and source/status distinctions. Each local file's Git blob SHA-1 matches staged GitHub tree afb9cecbf17bc309a437b515ff1a926cd04b7708. Parent README and ADR 0001-0003 blob hashes remain unchanged.

These checks validate documents, not runtime behavior or Mermaid rendering. No Cargo manifest, Rust source, dependency, workflow, protection, credentials, runtime implementation or benchmark is changed. Cargo/browser/PostgreSQL suites were not run for this documentation-only change; hosted checks and independent review remain separate and are not claimed passing. The design test-profile numbers are proposed engineering defaults, not measured performance.

@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copy link
Copy Markdown
Contributor Author

Companion ownership-boundary PR is now open: ContextualWisdomLab/wardnet#171 (Wardnet head a34a3e3455420cc5a4c7f6d9f1288840ca536bd5). It adds only the Wardnet responsibility ADR and ADR index; there is no runtime dependency, copied implementation, direct WAF-score mapping, or security-gate change. This Veilpick PR remains the owner of the proposed engine specifications and stays stacked on #1. Both are design/documentation changes, not engine implementation or release evidence.

@seonghobae seonghobae added documentation Improvements or additions to documentation type: docs priority: medium labels Sep 7, 2026 — with ChatGPT Codex Connector
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation priority: medium type: docs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant