docs(platforms): schema-driven platform facts knowledge base with CI conformance#1295
docs(platforms): schema-driven platform facts knowledge base with CI conformance#1295luffy-aiagent wants to merge 38 commits into
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
…/platforms/wecom.md
…/platforms/discord.md
…/platforms/_template.md
…/platforms/telegram.md
…/platforms/googlechat.md
…/platforms/feishu.md
…/platforms/slack.md
…/platforms/line.md
…/platforms/teams.md
…/platforms/README.md
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
chaodu-agent
left a comment
There was a problem hiding this comment.
LGTM — README cron_dispatch fix pushed. CI trigger expansion and other improvements can be follow-up PRs.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
40eefa3 to
cff9057
Compare
Build strictly from the committed Cargo.lock and fail if it is stale, rather than silently regenerating it. Partial fix for openabdev#1338 (--locked); Rust cache, checkout@v6, and concurrency group tracked there separately.
|
Note LGTM ✅ — Well-structured, schema-driven platform knowledge base with solid CI enforcement. What This PR DoesReviewers and new maintainers repeatedly re-derive the same platform facts (reply token TTL, message limits, threading model) from scattered code and PRs. This PR bootstraps How It WorksThree-schema structure per platform:
A standalone Rust crate ( Findings
Finding Details🟢 F1: Strong anti-drift designThe combination of 🟢 F2: Clean architecture separationTOML captures "what the platform can do + what OpenAB implements" (CI-checkable); Markdown captures "how to deploy" (human-readable). No duplication, clear boundaries. 🟢 F3: Template-as-documentationThe conformance test 🟢 F4: Honest scope managementThe PR explicitly calls out known limitations (#1337: trigger-path gap, #1338: CI hardening, #1339: ownership model, #1340: code-ref bypass routes) as follow-up issues rather than silently shipping them. This makes the review scope clear. 🟢 F5: Reproducible CIUsing 🟢 F6: Deep platform researchEach platform file shows genuine investigation — e.g., Feishu's 20-edit cap with errcode mapping, LINE's reply-token TTL nuances, Teams' JWT endorsement validation, WeCom's PKCS7 block_size=32 divergence. These facts previously lived only in code comments or PR discussions. Baseline Check
What's Good (🟢)
5️⃣ Three Reasons We Might Not Need This PR
All three concerns are acknowledged in the PR's follow-up issues or mitigated by the schema design. The net value (single source of truth for 8 platforms, CI-enforced freshness, day-1 onboarding) clearly outweighs the maintenance cost. |
Problem
Summary
Bootstraps
docs/platforms/— a machine-readable platform facts schema for all 8 messaging platforms, with typed Rust conformance tests in CI.What this adds
docs/platforms/schema/*.tomldocs/platforms/README.mddocs/platforms/_template.tomlcrates/platform-schema/.github/workflows/platform-schema-conformance.ymlCONTRIBUTING.mdArchitecture
docs/<platform>.md= operator setup guides (human-readable, unchanged)#symbolexistenceThree schemas per platform
[capability.*]— 18 fixed fields per platform, sourced from official docs[[openab_features]]— closed 17-feature set with status + code-ref source[[quirks]]— freeform dated findings logFollow-up issues
--lockedmissing), no cache (30-60s wasted), checkout@v4 inconsistent, no concurrency groupcheck_code_refhas bypass routes: empty#symbolalways passes,../paths escape repoContext