From a7ad92533fc5968e8f0065724a27486cc650f8cd Mon Sep 17 00:00:00 2001 From: echowang1 <471618794@qq.com> Date: Sat, 27 Jun 2026 15:12:40 +0800 Subject: [PATCH 1/5] Document external validation recruitment --- ...-external-validation-recruitment-design.md | 99 +++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 docs/superpowers/specs/2026-06-27-external-validation-recruitment-design.md diff --git a/docs/superpowers/specs/2026-06-27-external-validation-recruitment-design.md b/docs/superpowers/specs/2026-06-27-external-validation-recruitment-design.md new file mode 100644 index 0000000..00cc7e8 --- /dev/null +++ b/docs/superpowers/specs/2026-06-27-external-validation-recruitment-design.md @@ -0,0 +1,99 @@ +# External Validation Recruitment Design + +## Objective + +Recruit real agent-payment builders to test whether Gauntlet solves a meaningful problem before V0.2 work begins. The first cycle should produce qualified conversations and hands-on trials, not broad awareness metrics. + +## Repository Access + +Change `demshine/gauntlet` from private to public before outreach starts. The repository must contain no secrets, private interview notes, personal contact details, or unredacted user fixtures. Raw interview notes and contact details remain local; only anonymized validation summaries may be committed. + +## Target Cohort + +Build a pipeline of 30 candidates using recent public evidence of relevant work: + +- MCP servers or tools with paid-tool, commerce, wallet, or purchase flows +- x402 or paid API demos +- agent wallets and payment infrastructure +- agent applications that initiate tool-mediated payments +- DevRel or hackathon builders with an agent-payment demo + +Prioritize candidates with an active public repository, a concrete payment flow, recent activity, and an explicit contact or community channel. Exclude generic AI projects with no payment flow and inactive projects without usable evidence. + +## First-Wave Execution + +Contact the 10 highest-fit candidates first. Each message must mention one specific public project detail and ask for a 20-30 minute discovery call or a small fixture-based trial. Do not describe Gauntlet as production payment security or merchant verification. + +Use GitHub-native contact points only when appropriate: + +- A repository Discussion category that permits project questions or collaboration +- A directly relevant open issue where offering a fixture mapping is useful to the existing conversation +- A public profile contact link explicitly provided by the developer + +Do not open unrelated issues for promotion, mass-mention users, or post duplicate messages. Send at most one follow-up after five business days. + +## Candidate Record + +Maintain a local recruitment ledger with: + +- candidate ID and public GitHub handle +- category and relevant project URL +- evidence of fit +- permitted contact channel +- outreach date and message +- response status and next action + +Commit only public project references and anonymized rollups. Do not commit personal email addresses, scheduling details, or raw conversation notes. + +## Validation Flow + +For interested candidates: + +1. Run discovery using `docs/interview-guide.md` before demonstrating the product. +2. Record current testing behavior, recent failures, scenario relevance, and willingness to trial. +3. Invite qualified candidates to complete `docs/integration-trial.md`. +4. Ask for one redacted or synthetic fixture-shaped flow. +5. Capture timing, confusion points, receipt usefulness, and whether they would keep Gauntlet in their repository. +6. Update `docs/validation-tracker.md` with anonymized aggregate evidence. + +## Operational States + +Each candidate moves through: + +`identified -> qualified -> contacted -> replied -> interviewed -> trial_scheduled -> trial_completed` + +Terminal states are `declined`, `not_relevant`, `no_response`, and `blocked`. A candidate may enter a trial only after confirming a relevant real or semi-real payment flow. + +## First-Cycle Success Criteria + +Review the first wave after 10 personalized messages or 10 business days, whichever comes later. Continue sourcing if the wave produces at least two qualified replies or one scheduled trial. Rewrite positioning before the second wave if it produces no qualified replies. + +The overall validation targets remain: + +- 20 target-user interviews +- 5 real or semi-real demo flows +- 3 completed external integrations +- 1 non-friend scenario proposal +- evidence for the continue or pivot gates in `docs/external-validation-plan.md` + +## Safety And Quality Controls + +- Inspect repository history and tracked files for secrets before making it public. +- Keep user-provided fixtures redacted and local unless explicit permission is recorded. +- Do not imply endorsement from contacted developers. +- Stop contacting anyone who declines. +- Record negative evidence with the same weight as positive feedback. +- Do not start V0.2 feature work until the external validation gates are reviewed. + +## Verification + +Before outreach begins: + +- repository visibility is confirmed as public +- default branch CI is passing +- README accurately states V0.1 limitations +- issue templates work for external users +- recruitment ledger contains 30 qualified candidates +- the first 10 messages pass personalization and channel checks + +After the first wave, verify GitHub links, sent-message locations, response counts, scheduled calls, and tracker updates against the recruitment ledger. From 48f0a6fdf9a02cdcd30dd69d74a96740bade5f20 Mon Sep 17 00:00:00 2001 From: echowang1 <471618794@qq.com> Date: Sat, 27 Jun 2026 15:16:48 +0800 Subject: [PATCH 2/5] Plan external validation recruitment --- ...6-06-27-external-validation-recruitment.md | 379 ++++++++++++++++++ 1 file changed, 379 insertions(+) create mode 100644 docs/superpowers/plans/2026-06-27-external-validation-recruitment.md diff --git a/docs/superpowers/plans/2026-06-27-external-validation-recruitment.md b/docs/superpowers/plans/2026-06-27-external-validation-recruitment.md new file mode 100644 index 0000000..aef5ce6 --- /dev/null +++ b/docs/superpowers/plans/2026-06-27-external-validation-recruitment.md @@ -0,0 +1,379 @@ +# External Validation Recruitment Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Make Gauntlet ready for public external validation, qualify 30 real agent-payment builders, and send a compliant first wave of 10 personalized invitations. + +**Architecture:** Public-readiness changes remain in the repository, while candidate contact data and raw outreach records live in a locally excluded `validation-private/` directory. GitHub is used for repository administration, candidate discovery, and only context-appropriate outreach; anonymized outcomes roll up into the tracked validation documents. + +**Tech Stack:** Git, GitHub CLI/API, Markdown, npm, TypeScript, Vitest + +--- + +## File Structure + +- Create `LICENSE`: grant MIT permission for public use and contribution. +- Create `CONTRIBUTING.md`: explain setup, verification, scenario contributions, redaction, and PR expectations. +- Modify `README.md`: state license, contribution path, validation status, and public V0.1 limitations. +- Inspect `package.json`: retain the npm publication-blocking `private` flag because repository visibility does not authorize package publication. +- Modify `tasks.md`: add and track the recruitment launch tasks. +- Create local-only `validation-private/recruitment-ledger.csv`: store candidate and outreach operations without committing contact data. +- Create local-only `validation-private/first-wave-messages.md`: stage the 10 personalized messages for quality review. +- Modify `docs/validation-tracker.md`: add only anonymized aggregate evidence after real responses arrive. + +### Task 1: Public-Readiness Documentation + +**Files:** +- Create: `LICENSE` +- Create: `CONTRIBUTING.md` +- Modify: `README.md` +- Modify: `tasks.md` + +- [ ] **Step 1: Add the MIT license** + +Create `LICENSE` with this text: + +```text +MIT License + +Copyright (c) 2026 demshine + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +- [ ] **Step 2: Add contribution guidance** + +Create `CONTRIBUTING.md` with these exact sections: + +```markdown +# Contributing to Gauntlet + +## Before You Start +Gauntlet V0.1 is a local test harness, not a production payment authorization system. + +## Development +Run `npm install`, `npm run typecheck`, `npm test`, and `npm run build`. + +## Scenario Contributions +Follow `docs/scenario-authoring.md` and use the scenario contribution issue form. + +## Sensitive Data +Never commit secrets, payment credentials, personal data, or unredacted production fixtures. + +## Pull Requests +Keep changes focused, add tests for behavior changes, and describe the payment failure case being modeled. +``` + +- [ ] **Step 3: Update the README** + +Add a `Contributing` section linking to `CONTRIBUTING.md` and a `License` section linking to `LICENSE`. Add one sentence under V0.1 scope stating that external validation is active and linking to `docs/external-validation-plan.md`. + +- [ ] **Step 4: Preserve the package publication boundary** + +Confirm `package.json` retains: + +```json +"private": true +``` + +Do not run `npm publish` and do not add registry release configuration. Public repository access does not imply an npm release. + +- [ ] **Step 5: Track launch tasks** + +Append these items under Phase 9 in `tasks.md` before T068: + +```markdown +- [ ] T067B Complete public-readiness audit and publish the repository. +- [ ] T067C Qualify 30 external validation candidates. +- [ ] T067D Send 10 personalized first-wave invitations. +``` + +- [ ] **Step 6: Verify repository changes** + +Run: + +```bash +git diff --check +npm run typecheck +npm test +npm run build +``` + +Expected: no whitespace errors, 17 test files and 44 tests pass, and both TypeScript commands exit 0. + +- [ ] **Step 7: Commit public-readiness changes** + +```bash +git add LICENSE CONTRIBUTING.md README.md tasks.md +git commit -m "Prepare repository for public validation" +``` + +### Task 2: Public-Exposure Audit + +**Files:** +- Inspect: all tracked files and Git history +- Modify: files containing unsafe material, only if findings exist + +- [ ] **Step 1: Enumerate tracked and ignored risk surfaces** + +Run: + +```bash +git status --short +git ls-files +git ls-files --others --ignored --exclude-standard +``` + +Expected: `node_modules/`, `dist/`, generated receipts, and unredacted JSON remain ignored; no unexpected tracked secret files appear. + +- [ ] **Step 2: Scan the current tree for credential patterns** + +Run: + +```bash +git grep -nEI '(api[_-]?key|secret|token|password|private[_-]?key|BEGIN (RSA|OPENSSH|EC) PRIVATE KEY)' -- ':!package-lock.json' ':!docs/superpowers/**' +``` + +Expected: only explanatory documentation or schema field names; inspect every result manually. + +- [ ] **Step 3: Scan all reachable history** + +Run: + +```bash +git log -p --all -- . ':!package-lock.json' | rg -n -i '(ghp_[A-Za-z0-9]{20,}|github_pat_[A-Za-z0-9_]{20,}|sk-[A-Za-z0-9_-]{20,}|BEGIN (RSA|OPENSSH|EC) PRIVATE KEY|password\s*[:=]|secret\s*[:=])' +``` + +Expected: no live credential material. Stop publication and rotate/remove any confirmed secret before continuing. + +- [ ] **Step 4: Verify public-facing limitations** + +Run: + +```bash +rg -n "does not approve payments|does not.*move funds|local-only|production" README.md "Gauntlet PRD.md" CONTRIBUTING.md +``` + +Expected: README and contribution guidance clearly prevent production-security misrepresentation. + +- [ ] **Step 5: Record audit completion** + +Mark T067B complete only after Tasks 1-2 pass and repository visibility is later confirmed as `PUBLIC`. + +### Task 3: Local Recruitment Ledger + +**Files:** +- Modify locally: `.git/info/exclude` +- Create locally: `validation-private/recruitment-ledger.csv` +- Create locally: `validation-private/first-wave-messages.md` + +- [ ] **Step 1: Exclude private validation operations locally** + +Append this line to `.git/info/exclude`: + +```text +validation-private/ +``` + +This exclusion is local and must not be committed. + +- [ ] **Step 2: Create the candidate ledger schema** + +Create `validation-private/recruitment-ledger.csv` with this header: + +```csv +candidate_id,github_handle,category,project_url,evidence_of_fit,contact_channel,channel_url,qualified,status,outreach_date,follow_up_date,response,next_action +``` + +- [ ] **Step 3: Create the message review file** + +Create `validation-private/first-wave-messages.md` with one section per candidate containing: candidate ID, public project evidence, channel justification, message text, and review status. + +- [ ] **Step 4: Verify private files cannot be committed accidentally** + +Run: + +```bash +git check-ignore -v validation-private/recruitment-ledger.csv validation-private/first-wave-messages.md +git status --short +``` + +Expected: both files are excluded by `.git/info/exclude` and absent from Git status. + +### Task 4: Qualify 30 Candidates + +**Files:** +- Modify locally: `validation-private/recruitment-ledger.csv` + +- [ ] **Step 1: Search recent MCP payment projects** + +Use GitHub repository search with `sort=updated`, collecting projects updated since 2025-06-01: + +```bash +gh api search/repositories -f q='mcp payment pushed:>=2025-06-01' -f sort=updated -f per_page=50 +gh api search/repositories -f q='mcp commerce pushed:>=2025-06-01' -f sort=updated -f per_page=50 +``` + +- [ ] **Step 2: Search recent x402 and agent-wallet projects** + +```bash +gh api search/repositories -f q='x402 agent pushed:>=2025-06-01' -f sort=updated -f per_page=50 +gh api search/repositories -f q='"agent wallet" pushed:>=2025-06-01' -f sort=updated -f per_page=50 +``` + +- [ ] **Step 3: Inspect each candidate's public evidence** + +For each candidate, inspect README, recent commits, owner profile, Discussions availability, contribution guidance, and relevant payment issues. Record only candidates with a concrete flow and an appropriate contact channel. + +- [ ] **Step 4: Balance the 30-person cohort** + +Qualify this mix: + +```text +12 MCP paid-tool or agent tool-payment builders +6 x402 or paid API builders +5 wallet or payment infrastructure builders +5 agent application builders +2 DevRel or hackathon demo builders +``` + +- [ ] **Step 5: Validate the ledger** + +Run a CSV row count and duplicate check. Expected: exactly 30 qualified data rows, 30 unique candidate IDs, and no duplicate GitHub handles. + +- [ ] **Step 6: Mark sourcing complete** + +Mark T067C complete in `tasks.md`, commit only that task-state update, and keep the ledger local. + +### Task 5: Prepare And Review First-Wave Messages + +**Files:** +- Modify locally: `validation-private/first-wave-messages.md` +- Modify locally: `validation-private/recruitment-ledger.csv` + +- [ ] **Step 1: Rank the first wave** + +Select 10 candidates using this order: concrete payment flow, recent activity, strong scenario fit, explicit contact channel, and cohort diversity. + +- [ ] **Step 2: Draft each message** + +Use the cold-DM structure in `docs/outreach-templates.md`, replacing every generic field with one verified project detail. Ask for either a 20-30 minute discovery conversation or one fixture-based trial. + +- [ ] **Step 3: Run message quality checks** + +Each message must pass all checks: + +```text +mentions one verified project detail +states Gauntlet is local-only V0.1 +does not claim production safety +contains one clear ask +contains no invented familiarity or endorsement +uses a channel intended for discussion or collaboration +is not posted to an unrelated issue +``` + +- [ ] **Step 4: Record approved messages** + +Set each selected candidate's ledger status to `ready_to_contact` only after all checks pass. + +### Task 6: Publish The Repository + +**Files:** +- GitHub repository settings + +- [ ] **Step 1: Push the implementation branch** + +```bash +git push -u origin codex/external-validation-recruitment +``` + +- [ ] **Step 2: Open and merge the pull request after CI passes** + +Create a PR describing public-readiness documentation and external-validation operations. Confirm GitHub Actions completes successfully, merge to `main`, and sync local `main`. + +- [ ] **Step 3: Change repository visibility** + +Run: + +```bash +gh repo edit demshine/gauntlet --visibility public --accept-visibility-change-consequences +``` + +- [ ] **Step 4: Verify public access and CI** + +Run: + +```bash +gh repo view demshine/gauntlet --json visibility,isPrivate,url,defaultBranchRef +gh run list --repo demshine/gauntlet --branch main --limit 1 --json status,conclusion,url +``` + +Expected: `visibility` is `PUBLIC`, `isPrivate` is `false`, default branch is `main`, and the latest CI conclusion is `success`. + +- [ ] **Step 5: Complete T067B** + +Mark T067B complete in `tasks.md`, commit, push through a PR, and merge after CI passes. + +### Task 7: Send The First Wave + +**Files:** +- Modify locally: `validation-private/recruitment-ledger.csv` + +- [ ] **Step 1: Recheck every target immediately before posting** + +Confirm the project detail, target identity, channel rules, and message preview still match. Skip any target whose channel no longer permits the message. + +- [ ] **Step 2: Send 10 personalized invitations** + +Post only the approved message for each target through its recorded GitHub-native channel. Do not batch identical text and do not contact replacement candidates without running the same quality checks. + +- [ ] **Step 3: Capture auditable delivery records** + +For each sent message, record the date, public URL, status `contacted`, and next action. Do not commit private scheduling or contact details. + +- [ ] **Step 4: Verify the first wave** + +Expected: 10 unique qualified candidates have 10 accessible message URLs, no duplicate message body, and no unrelated issue was opened. + +- [ ] **Step 5: Mark T067D complete** + +Mark T067D complete in `tasks.md`, commit the task-state update, and merge it through CI. + +### Task 8: Response Operations + +**Files:** +- Modify locally: `validation-private/recruitment-ledger.csv` +- Modify: `docs/validation-tracker.md` + +- [ ] **Step 1: Classify responses** + +Move each response through the defined states and record `declined`, `not_relevant`, `no_response`, or the next qualified step without rewriting negative evidence. + +- [ ] **Step 2: Schedule qualified interviews or trials** + +Use `docs/interview-guide.md` before product demonstration and `docs/integration-trial.md` only after confirming a relevant flow. + +- [ ] **Step 3: Update anonymized rollups** + +Increment only evidence-backed totals in `docs/validation-tracker.md`. Keep raw notes and personal details out of Git. + +- [ ] **Step 4: Review the first cycle** + +After 10 messages or 10 business days, whichever is later, continue if there are at least two qualified replies or one scheduled trial. Otherwise revise positioning before sending a second wave. From 48f2f809800b93fa93ef7141e00c1041b42af5af Mon Sep 17 00:00:00 2001 From: echowang1 <471618794@qq.com> Date: Sat, 27 Jun 2026 15:20:44 +0800 Subject: [PATCH 3/5] Prepare repository for public validation. --- CONTRIBUTING.md | 26 ++++++++++++++++++++++++++ LICENSE | 21 +++++++++++++++++++++ README.md | 10 ++++++++++ tasks.md | 3 +++ 4 files changed, 60 insertions(+) create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..c6384a2 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,26 @@ +# Contributing + +## Before You Start + +Gauntlet V0.1 is a local test harness, not a production payment authorization system. It does not approve payments, move funds, or enforce production runtime policy. + +## Development + +```bash +npm install +npm run typecheck +npm test +npm run build +``` + +## Scenario Contributions + +Follow the [scenario authoring guide](./docs/scenario-authoring.md), then submit the [scenario contribution issue form](./.github/ISSUE_TEMPLATE/scenario-contribution.yml). + +## Sensitive Data + +Never commit secrets, payment credentials, personal data, or unredacted production fixtures. + +## Pull Requests + +Keep changes focused, add tests for behavior changes, and describe the failure case the change addresses. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..547f506 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 demshine + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index 31404f9..aabaa06 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,8 @@ Gauntlet helps developers test whether an AI agent's simulated payment request s ## V0.1 Scope +Gauntlet is actively seeking external validation; see the [external validation plan](./docs/external-validation-plan.md) for participation details. + - Local CLI: `gauntlet init`, `gauntlet run`, `gauntlet run --ci` - Deterministic policy rules for amount, merchant matching, quote expiry, quote drift, idempotency, required metadata, and review thresholds - `history.json` fixture support for budget and duplicate checks @@ -38,6 +40,10 @@ npm run build Pull requests run the same verification steps in GitHub Actions. +## Contributing + +See [CONTRIBUTING.md](./CONTRIBUTING.md) for development and contribution guidelines. + ## Current CLI Run built-in scenarios: @@ -64,3 +70,7 @@ npm run dev -- run \ ``` Receipts are redacted by default. Use `--unredacted` only for local debugging. + +## License + +Gauntlet is available under the [MIT License](./LICENSE). diff --git a/tasks.md b/tasks.md index 21e10b0..2c71e36 100644 --- a/tasks.md +++ b/tasks.md @@ -136,6 +136,9 @@ Goal: Decide whether V0.1 has enough real user signal to justify V0.2. - [X] T066 Add validation tracker in `/Users/echo/claudesidian/01_Projects/Gauntlet/docs/validation-tracker.md` - [X] T067 Add GitHub issue templates for external scenario and integration feedback in `/Users/echo/claudesidian/01_Projects/Gauntlet/.github/ISSUE_TEMPLATE` - [X] T067A Add GitHub Actions CI for pull request verification in `/Users/echo/claudesidian/01_Projects/Gauntlet/.github/workflows/ci.yml` +- [ ] T067B Complete public-readiness audit and publish the repository. +- [ ] T067C Qualify 30 external validation candidates. +- [ ] T067D Send 10 personalized first-wave invitations. - [ ] T068 Complete 20 target-user interviews. - [ ] T069 Collect 5 real or semi-real demo flows. - [ ] T070 Support 3 external developer integrations. From 80c0d7dfb20e6513755704b790b845d45f95050d Mon Sep 17 00:00:00 2001 From: echowang1 <471618794@qq.com> Date: Sat, 27 Jun 2026 15:22:48 +0800 Subject: [PATCH 4/5] Clarify payment scenario contribution --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c6384a2..535c428 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -23,4 +23,4 @@ Never commit secrets, payment credentials, personal data, or unredacted producti ## Pull Requests -Keep changes focused, add tests for behavior changes, and describe the failure case the change addresses. +Keep changes focused, add tests for behavior changes, and describe the payment failure case the change addresses. From 44a421f31e9df43d260feaeb68dc0a0f6bd47743 Mon Sep 17 00:00:00 2001 From: echowang1 <471618794@qq.com> Date: Sat, 27 Jun 2026 15:26:24 +0800 Subject: [PATCH 5/5] Make validation participation actionable --- CONTRIBUTING.md | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 535c428..893f6e6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -15,7 +15,7 @@ npm run build ## Scenario Contributions -Follow the [scenario authoring guide](./docs/scenario-authoring.md), then submit the [scenario contribution issue form](./.github/ISSUE_TEMPLATE/scenario-contribution.yml). +Follow the [scenario authoring guide](./docs/scenario-authoring.md), then submit the [scenario contribution form](https://github.com/demshine/gauntlet/issues/new?template=scenario-contribution.yml). ## Sensitive Data diff --git a/README.md b/README.md index aabaa06..270c9ca 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Gauntlet helps developers test whether an AI agent's simulated payment request s ## V0.1 Scope -Gauntlet is actively seeking external validation; see the [external validation plan](./docs/external-validation-plan.md) for participation details. +Gauntlet is actively seeking external validation; review the [validation goals](./docs/external-validation-plan.md), [contribute a scenario](https://github.com/demshine/gauntlet/issues/new?template=scenario-contribution.yml), or [report integration feedback](https://github.com/demshine/gauntlet/issues/new?template=integration-feedback.yml). - Local CLI: `gauntlet init`, `gauntlet run`, `gauntlet run --ci` - Deterministic policy rules for amount, merchant matching, quote expiry, quote drift, idempotency, required metadata, and review thresholds