chore(aiwg): adopt shared BT6 maintainer workflow (#148)
* docs(policy): allow low-impact contributor courtesy cleanup * chore(aiwg): migrate to shared BT6 maintainer plugin * chore: reconcile delivery validation
This commit is contained in:
1 parent
8f658891f2
commit
afc9dad1b2
89 files changed
+4683
-1512
No files matched your search
@@ -0,0 +1,72 @@
|
||||
---
|
||||
name: bt6-external-provider-assessment
|
||||
description: Evidence-based assessment of an external provider and its BT6 repository integration boundary.
|
||||
---
|
||||
|
||||
# BT6 External Provider Assessment
|
||||
|
||||
Provider: `<name>`
|
||||
Repository: `<canonical repository>`
|
||||
PR / issue: `<reference>`
|
||||
Head SHA: `<sha>`
|
||||
Assessment date: `<YYYY-MM-DD>`
|
||||
|
||||
## Verdicts
|
||||
|
||||
| Dimension | Verdict | Evidence / limitation |
|
||||
| --- | --- | --- |
|
||||
| Service is real | `<yes/no/unclear>` | `<evidence>` |
|
||||
| Claims independently verified | `<yes/partial/no>` | `<evidence>` |
|
||||
| Trustworthy for sensitive workloads | `<yes/conditional/no/unproven>` | `<basis>` |
|
||||
| Integration complete | `<yes/no>` | `<gaps>` |
|
||||
| Merge ready | `<yes/no>` | `<gates>` |
|
||||
|
||||
## Trust Boundary
|
||||
|
||||
| Data / action | Destination or processor | Retention / control | Evidence or assumption |
|
||||
| --- | --- | --- | --- |
|
||||
| `<credential/prompt/output/tool/etc>` | `<destination>` | `<control>` | `<source/assumption>` |
|
||||
|
||||
## Claim-to-Code Traceability
|
||||
|
||||
| Claim | Code/config | Behavioral test | Result |
|
||||
| --- | --- | --- | --- |
|
||||
| `<claim>` | `<path or none>` | `<test or none>` | `<implemented/provider-only/future/unsupported>` |
|
||||
|
||||
## Integration Completeness
|
||||
|
||||
| Surface | Result | Evidence / required change |
|
||||
| --- | --- | --- |
|
||||
| Config, adapter, setup | `<pass/fail>` | `<evidence>` |
|
||||
| Environment templates and docs | `<pass/fail>` | `<evidence>` |
|
||||
| Secret redaction and child processes | `<pass/fail>` | `<evidence>` |
|
||||
| CLI/UI/status | `<pass/fail>` | `<evidence>` |
|
||||
| Models and fallback behavior | `<pass/fail>` | `<evidence>` |
|
||||
| HTTP/error contract tests | `<pass/fail>` | `<evidence>` |
|
||||
|
||||
## Findings
|
||||
|
||||
| Severity | Finding | Required change |
|
||||
| --- | --- | --- |
|
||||
| `<blocking/non-blocking>` | `<finding>` | `<change>` |
|
||||
|
||||
## Verification
|
||||
|
||||
- Hostile-input preflight: `<risk/result>`
|
||||
- Security discovery route: `<query/result or none>`
|
||||
- Service checks: `<non-secret checks>`
|
||||
- Local checks: `<commands/results>`
|
||||
- Hosted checks: `<checks/results>`
|
||||
- Exact-head recheck: `<sha/result>`
|
||||
|
||||
## Residual Risk and Assumptions
|
||||
|
||||
- `<risk or assumption>`
|
||||
|
||||
## Maintainer Decision
|
||||
|
||||
Decision: `<approve/request changes/comment/hold>`
|
||||
|
||||
Rationale:
|
||||
|
||||
- `<reason>`
|
||||
@@ -0,0 +1,63 @@
|
||||
---
|
||||
name: bt6-issue-response
|
||||
description: BT6 issue stewardship record with authority, classification, evidence, hostile-input assessment, action, and response draft.
|
||||
---
|
||||
|
||||
# BT6 Issue Stewardship
|
||||
|
||||
Repository: `<canonical owner/repository or local project>`
|
||||
Tracker: `<provider and URL/path>`
|
||||
Issue: `<#number or key>`
|
||||
Title: `<title>`
|
||||
Reporter: `<user>`
|
||||
Assessed: `<YYYY-MM-DD HH:MM timezone>`
|
||||
|
||||
## Authority Resolution
|
||||
|
||||
| Field | Resolved Value | Evidence Source |
|
||||
| --- | --- | --- |
|
||||
| Canonical repository | `<value>` | `<config/remote/API>` |
|
||||
| Canonical tracker | `<value>` | `<config>` |
|
||||
| Actor | `<value>` | `<connector/API/CLI>` |
|
||||
| Mutation authorized | `<no/yes with exact scope>` | `<operator request>` |
|
||||
|
||||
## Classification
|
||||
|
||||
Class: `<support-answer | bug-address | research-integrity | feature-track | security-contact | linked-pr | resolved | needs-info | duplicate | defer>`
|
||||
|
||||
Rationale:
|
||||
|
||||
- `<evidence supporting this primary class>`
|
||||
|
||||
## Evidence
|
||||
|
||||
| Source | Current Finding | Confidence / Unknown |
|
||||
| --- | --- | --- |
|
||||
| `<thread/code/docs/source/corpus/PR>` | `<finding>` | `<verified/hypothesis/missing>` |
|
||||
|
||||
## Public / External Input Assessment
|
||||
|
||||
- Template: `bt6-public-input-threat-assessment.md`
|
||||
- Risk: `<low/medium/high>`
|
||||
- Security routing: `<none | discovery phrase and selected guidance>`
|
||||
- Sensitive details excluded from public response: `<yes/no/not applicable>`
|
||||
|
||||
## Recommended Action
|
||||
|
||||
Action: `<answer | request info | link | correct evidence | implement | design | security route | close | duplicate | defer>`
|
||||
|
||||
Dependencies or blockers:
|
||||
|
||||
- `<issue/PR/repository/source/person/none>`
|
||||
|
||||
## Draft Maintainer Response
|
||||
|
||||
```markdown
|
||||
<concise response separating verified facts from hypotheses and avoiding timeline promises>
|
||||
```
|
||||
|
||||
## Follow-up
|
||||
|
||||
| Owner | Action | Recheck Trigger | Status |
|
||||
| --- | --- | --- | --- |
|
||||
| `<owner>` | `<action>` | `<date/event/evidence>` | `<open/done/blocked>` |
|
||||
@@ -0,0 +1,40 @@
|
||||
---
|
||||
name: bt6-maintainer-action-items
|
||||
description: Cross-repository BT6 maintainer action tracker for queue, issue, PR, merge, evidence, and release follow-up.
|
||||
---
|
||||
|
||||
# BT6 Maintainer Action Items
|
||||
|
||||
Repository: `<canonical repository>`
|
||||
Date: `<YYYY-MM-DD>`
|
||||
Source: `<queue audit | PR audit | issue stewardship | merge train>`
|
||||
|
||||
## Open Actions
|
||||
|
||||
| Priority | Owner | Item | Source | Dependency / Blocker | Recheck |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| `<P0/P1/P2/P3>` | `<owner>` | `<action>` | `<PR/issue/artifact/link>` | `<blocker or none>` | `<date/event>` |
|
||||
|
||||
## Evidence / Research Integrity Follow-up
|
||||
|
||||
| Artifact or Claim | Required Evidence | Owner | Status |
|
||||
| --- | --- | --- | --- |
|
||||
| `<citation/corpus/result/generated claim>` | `<source/hash/test/reproduction>` | `<owner>` | `<open/done/blocked>` |
|
||||
|
||||
## User-facing Updates
|
||||
|
||||
| Audience | Tracker / Channel | Purpose | Draft / Link | Mutation Authorized |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `<reporter/contributor/maintainer>` | `<issue/PR/discussion>` | `<purpose>` | `<draft>` | `<no/yes scope>` |
|
||||
|
||||
## Completed This Session
|
||||
|
||||
| Item | Exact Evidence |
|
||||
| --- | --- |
|
||||
| `<completed item>` | `<check/commit/SHA/URL>` |
|
||||
|
||||
## Deferred
|
||||
|
||||
| Item | Reason | Revisit Trigger |
|
||||
| --- | --- | --- |
|
||||
| `<item>` | `<reason>` | `<trigger>` |
|
||||
@@ -0,0 +1,60 @@
|
||||
---
|
||||
name: bt6-merge-train-report
|
||||
description: BT6 merge-session report with authorization, exact per-PR gates, research integrity, merge results, issue reconciliation, and stop reasons.
|
||||
---
|
||||
|
||||
# BT6 Merge Train Report
|
||||
|
||||
Date: `<YYYY-MM-DD HH:MM timezone>`
|
||||
Repository: `<canonical repository>`
|
||||
Tracker: `<canonical tracker>`
|
||||
Actor: `<maintainer login>`
|
||||
Base branch: `<branch>`
|
||||
Mode: `<dry-run/live>`
|
||||
|
||||
## Authorization and Policy
|
||||
|
||||
- Authorization source/scope: `<operator request or dry-run only>`
|
||||
- Queue audit: `<date/link/commit>`
|
||||
- Allowed/default merge method: `<methods>/<default>`
|
||||
- Required checks policy: `<summary>`
|
||||
- Local worktree state: `<clean/dirty and relevance>`
|
||||
- Hostile-input preflight: `<current/missing>`
|
||||
- External-provider assessments: `<current for applicable candidates | missing/stale for PR #>`
|
||||
|
||||
## Candidate Gates
|
||||
|
||||
| Order | PR | Audited SHA | Current SHA | Mergeable | Reviews | Required Checks | Risk-surface Checks | Decision |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| 1 | `<#>` | `<sha>` | `<sha>` | `<state>` | `<state>` | `<pass/fail>` | `<pass/fail/evidence>` | `<merge/hold>` |
|
||||
|
||||
## Merged
|
||||
|
||||
| PR | Head SHA | Result Commit | Method | Post-merge CI | Linked Issues | Outcome |
|
||||
| --- | --- | --- | --- | --- | --- | --- |
|
||||
| `<#>` | `<sha>` | `<sha>` | `<method>` | `<pass/pending/fail>` | `<issues>` | `<observed outcome>` |
|
||||
|
||||
## Research / Data Integrity Verification
|
||||
|
||||
| PR | Provenance / Citation | Corpus / Schema | Reproducibility | Evidence |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `<#>` | `<pass/n-a>` | `<pass/n-a>` | `<pass/n-a>` | `<checks/artifacts>` |
|
||||
|
||||
## Stopped Before
|
||||
|
||||
| PR | Stop Reason | Required Follow-up |
|
||||
| --- | --- | --- |
|
||||
| `<#>` | `<exact reason>` | `<follow-up>` |
|
||||
|
||||
## Issue Reconciliation
|
||||
|
||||
| Issue | Expected Outcome | Observed Outcome | Authorized Action Taken |
|
||||
| --- | --- | --- | --- |
|
||||
| `<#>` | `<close/comment/remain>` | `<actual>` | `<none/action>` |
|
||||
|
||||
## Refreshed Queue / Next Candidate
|
||||
|
||||
- Base branch after last action: `<sha>`
|
||||
- Queue refresh time: `<time>`
|
||||
- Next candidate: `<# or none>`
|
||||
- Reason and required rechecks: `<details>`
|
||||
@@ -0,0 +1,94 @@
|
||||
---
|
||||
name: bt6-pr-audit-review
|
||||
description: Findings-first BT6 pull-request audit with authority, exact SHA, research integrity, verification, decision, and residual risk.
|
||||
---
|
||||
|
||||
# BT6 Pull Request Audit
|
||||
|
||||
Repository: `<canonical repository>`
|
||||
Tracker: `<canonical tracker>`
|
||||
PR: `<#number or URL>`
|
||||
Title: `<title>`
|
||||
Head SHA: `<sha>`
|
||||
Base: `<remote/branch at sha>`
|
||||
Reviewer: `<name/tool>`
|
||||
Reviewed: `<YYYY-MM-DD HH:MM timezone>`
|
||||
|
||||
## Authority and Scope
|
||||
|
||||
| Field | Value | Evidence |
|
||||
| --- | --- | --- |
|
||||
| Canonical target | `<repository>` | `<config/remote/API>` |
|
||||
| Tracker actor | `<actor>` | `<connector/API/CLI>` |
|
||||
| Profile | `<path/derived defaults>` | `<hash/status>` |
|
||||
| Review posting authorized | `<no/yes exact scope>` | `<operator request>` |
|
||||
|
||||
## Findings
|
||||
|
||||
| Severity | File / Artifact | Finding | Evidence | Required Change |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `<blocking/high/medium/low>` | `<path:line or artifact>` | `<finding>` | `<test/source/citation/contract>` | `<change>` |
|
||||
|
||||
If none: **No blocking findings at the exact head SHA above.**
|
||||
|
||||
## Research and Data Integrity
|
||||
|
||||
| Dimension | Result | Evidence / Unknown |
|
||||
| --- | --- | --- |
|
||||
| Source/license/provenance | `<pass/fail/n-a>` | `<details>` |
|
||||
| Citation/timestamp/locator | `<pass/fail/n-a>` | `<details>` |
|
||||
| Parsing/normalization/indexing | `<pass/fail/n-a>` | `<details>` |
|
||||
| Corpus/schema migration | `<pass/fail/n-a>` | `<details>` |
|
||||
| Reproducibility/generated claims | `<pass/fail/n-a>` | `<details>` |
|
||||
|
||||
## Verification
|
||||
|
||||
| Check | Result | Exact Evidence |
|
||||
| --- | --- | --- |
|
||||
| `<CI or local command>` | `<pass/fail/not run>` | `<URL/output/commit>` |
|
||||
|
||||
Unverified areas:
|
||||
|
||||
- `<area and why>`
|
||||
|
||||
## Public / External Input Assessment
|
||||
|
||||
- Risk: `<low/medium/high>`
|
||||
- Assessment: `<bt6-public-input-threat-assessment reference>`
|
||||
- Security routing: `<none | discovery phrase/result>`
|
||||
|
||||
## External Provider Assessment
|
||||
|
||||
Required for remote-provider changes: `<not applicable | assessment reference>`
|
||||
|
||||
- Service real: `<yes/no/unclear>`
|
||||
- Independently verified: `<yes/partial/no>`
|
||||
- Trustworthy for sensitive workloads: `<yes/conditional/no/unproven>`
|
||||
- Integration complete: `<yes/no>`
|
||||
- Claim-to-code traceability complete: `<yes/no>`
|
||||
|
||||
## Decision
|
||||
|
||||
Decision: `<approve | request changes | comment | hold>`
|
||||
|
||||
Reason:
|
||||
|
||||
- `<short evidence-based reason>`
|
||||
|
||||
## Residual Risk and Expiration
|
||||
|
||||
- Residual risk: `<risk or none>`
|
||||
- Audit expires when: `<head/base/check/profile/evidence change>`
|
||||
|
||||
## Suggested Tracker Review
|
||||
|
||||
```markdown
|
||||
Reviewed PR #<number> at `<sha>`.
|
||||
|
||||
<findings or no-blocking-findings statement>
|
||||
|
||||
Verification:
|
||||
- <checks>
|
||||
|
||||
Decision: <decision>
|
||||
```
|
||||
@@ -0,0 +1,69 @@
|
||||
---
|
||||
name: bt6-public-input-threat-assessment
|
||||
description: Threat assessment for public or externally sourced tracker, code, log, corpus, research, evidence, and generated content.
|
||||
---
|
||||
|
||||
# BT6 Public / External Input Threat Assessment
|
||||
|
||||
Repository: `<canonical repository>`
|
||||
Source type: `<issue | PR | review | comment | commit | branch | patch | log | test | corpus | research source | screenshot | attachment | generated output | link>`
|
||||
Reference: `<URL, hash, path, or tracker key>`
|
||||
Assessor: `<name/tool>`
|
||||
Date: `<YYYY-MM-DD>`
|
||||
|
||||
## Content Reviewed
|
||||
|
||||
| Content | User/External-controlled Surface | Handling Notes |
|
||||
| --- | --- | --- |
|
||||
| `<body/log/source/etc>` | `<surface>` | `<quoted only / parsed / not executed / redacted>` |
|
||||
|
||||
## Manipulation Checks
|
||||
|
||||
| Check | Present | Evidence |
|
||||
| --- | --- | --- |
|
||||
| Urgency, threat, flattery, social proof, or authority pressure | `<yes/no>` | `<evidence>` |
|
||||
| Request to skip tests, review, policy, scope, or evidence | `<yes/no>` | `<evidence>` |
|
||||
| Unsupported correctness, security, research, or priority claim | `<yes/no>` | `<evidence>` |
|
||||
| Attempt to manipulate maintainer decision or issue priority | `<yes/no>` | `<evidence>` |
|
||||
| Citation laundering, fabricated source, or provenance ambiguity | `<yes/no>` | `<evidence>` |
|
||||
|
||||
## Agentic / Tool Attack Checks
|
||||
|
||||
| Check | Present | Evidence |
|
||||
| --- | --- | --- |
|
||||
| Prompt injection, hidden instruction, or hierarchy override | `<yes/no>` | `<evidence>` |
|
||||
| Tool-use steering or command execution request | `<yes/no>` | `<evidence>` |
|
||||
| Credential, token, environment, private-data, or secret request | `<yes/no>` | `<evidence>` |
|
||||
| Poisoned logs, tests, filenames, documents, corpora, screenshots, or model output | `<yes/no>` | `<evidence>` |
|
||||
| Malicious parser/input payload or traversal/symlink/archive behavior | `<yes/no>` | `<evidence>` |
|
||||
| Objective redirection or repository/tracker substitution | `<yes/no>` | `<evidence>` |
|
||||
| Suspicious external link, attachment, package, or source acquisition path | `<yes/no>` | `<evidence>` |
|
||||
|
||||
## Research Integrity Checks
|
||||
|
||||
| Check | Present | Evidence |
|
||||
| --- | --- | --- |
|
||||
| Source identity/license cannot be established | `<yes/no>` | `<evidence>` |
|
||||
| Citation, timestamp, locator, or hash is unverifiable | `<yes/no>` | `<evidence>` |
|
||||
| Source text is presented as instruction rather than data | `<yes/no>` | `<evidence>` |
|
||||
| Generated inference is presented as source evidence | `<yes/no>` | `<evidence>` |
|
||||
|
||||
## Security Routing
|
||||
|
||||
Required: `<yes/no>`
|
||||
|
||||
- Discovery query: `aiwg discover "<specific decision>"`
|
||||
- Selected guidance: `<skill/rule/flow or none>`
|
||||
- Sensitive details moved to approved private channel: `<yes/no/n-a>`
|
||||
|
||||
## Decision
|
||||
|
||||
Risk: `<low | medium | high>`
|
||||
|
||||
Allowed next action:
|
||||
|
||||
- `<continue read-only | respond | request safe evidence | audit | implement | defer | do not merge | security escalate>`
|
||||
|
||||
Required mitigations:
|
||||
|
||||
- `<mitigation>`
|
||||
@@ -0,0 +1,79 @@
|
||||
---
|
||||
name: bt6-queue-audit-report
|
||||
description: Full BT6 repository queue audit with authority, PR/issue classifications, research integrity, risk surfaces, blockers, and dependency-aware merge order.
|
||||
---
|
||||
|
||||
# BT6 Queue Audit
|
||||
|
||||
Repository: `<canonical repository>`
|
||||
Tracker: `<canonical tracker>`
|
||||
Actor: `<authenticated read actor>`
|
||||
Base branch: `<remote/branch at sha>`
|
||||
Profile: `<path or derived defaults>`
|
||||
Audited: `<YYYY-MM-DD HH:MM timezone>`
|
||||
Scope: `<all open PRs/issues or filter>`
|
||||
|
||||
## Authority Evidence
|
||||
|
||||
| Field | Value | Source |
|
||||
| --- | --- | --- |
|
||||
| Canonical repository | `<value>` | `<config/remote/API>` |
|
||||
| Tracker authority | `<value>` | `<config>` |
|
||||
| CI remote | `<value>` | `<config>` |
|
||||
| Delivery policy | `<summary>` | `<config>` |
|
||||
|
||||
## Summary
|
||||
|
||||
- Ready: `<count>`
|
||||
- Re-audit: `<count>`
|
||||
- Rebase needed: `<count>`
|
||||
- Blocked: `<count>`
|
||||
- Unknown: `<count>`
|
||||
- Issues needing action: `<count>`
|
||||
- Recommended next action: `<one sentence>`
|
||||
|
||||
## Ready Pull Requests
|
||||
|
||||
| Order | PR | Title | Head SHA | Checks / Review | Risk Surfaces | Provider Assessment | Linked Issues | Evidence Expires When |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| 1 | `<#>` | `<title>` | `<sha>` | `<evidence>` | `<ids>` | `<n/a or current verdict>` | `<issues>` | `<condition>` |
|
||||
|
||||
## Needs Re-audit
|
||||
|
||||
| PR | Reason | Required Checks | Owner / Dependency |
|
||||
| --- | --- | --- | --- |
|
||||
| `<#>` | `<stale/missing/high-risk>` | `<checks>` | `<owner/dependency>` |
|
||||
|
||||
## Rebase Needed / Blocked / Unknown
|
||||
|
||||
| PR | Class | Blocker or Unknown | Required Action | Unblock Condition |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `<#>` | `<class>` | `<evidence>` | `<action>` | `<condition>` |
|
||||
|
||||
## Research and Data Integrity Queue
|
||||
|
||||
| PR / Issue | Surface | Concern | Required Evidence / Check |
|
||||
| --- | --- | --- | --- |
|
||||
| `<ref>` | `<citation/corpus/ingestion/index/provider/etc>` | `<concern>` | `<check>` |
|
||||
|
||||
## Issue Actions
|
||||
|
||||
| Issue | Class | Evidence | Linked Work / Duplicate | Next Action |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `<#>` | `<class>` | `<evidence>` | `<refs>` | `<action>` |
|
||||
|
||||
## Dependency-aware Merge Recommendation
|
||||
|
||||
1. `<PR, dependency rationale, and recheck>`
|
||||
2. `<PR, dependency rationale, and recheck>`
|
||||
|
||||
## Threat Assessments and Escalations
|
||||
|
||||
| Reference | Risk | Assessment / Route | Required Mitigation |
|
||||
| --- | --- | --- | --- |
|
||||
| `<PR/issue/source>` | `<low/medium/high>` | `<template/discovery>` | `<mitigation>` |
|
||||
|
||||
## Notes, Unknowns, and Audit Expiration
|
||||
|
||||
- `<unverified fact or residual risk>`
|
||||
- This audit expires on: `<head/base/check/profile/tracker/evidence change>`
|
||||
@@ -0,0 +1,50 @@
|
||||
# Copy to .aiwg/bt6-maintainer.yaml and replace the example values.
|
||||
version: "1"
|
||||
project:
|
||||
id: "bt6-example"
|
||||
displayName: "BT6 Example"
|
||||
family: "research-tool" # research-tool | support-tool | knowledge-tool | application | library | service | data-pipeline | automation | infrastructure | mixed
|
||||
repository:
|
||||
canonicalRemote: "origin"
|
||||
baseBranch: "main"
|
||||
expectedSlug: "bt6/example"
|
||||
ciRemote: "origin"
|
||||
tracker:
|
||||
authorityRemote: "origin"
|
||||
provider: "auto" # github | gitea | local | auto
|
||||
expectedActor: "maintainer"
|
||||
delivery:
|
||||
requireCiGreen: true
|
||||
requireCurrentHead: true
|
||||
defaultMergeMethod: "squash"
|
||||
allowedMergeMethods: ["squash"]
|
||||
validation:
|
||||
quick:
|
||||
- "<targeted check>"
|
||||
full:
|
||||
- "<full test command>"
|
||||
documentation:
|
||||
- "<docs/link/citation check>"
|
||||
researchIntegrity:
|
||||
- "<provenance/corpus/reproducibility check>"
|
||||
riskSurfaces:
|
||||
- id: "ingestion"
|
||||
paths: ["<ingestion or parser paths>"]
|
||||
concerns: ["untrusted-source-content", "parser-correctness", "provenance"]
|
||||
requiredChecks: ["<ingestion fixture test>"]
|
||||
- id: "provider-boundary"
|
||||
paths: ["<model/provider/API paths>"]
|
||||
concerns: ["secret-handling", "local-vs-hosted-routing", "quota-and-cost"]
|
||||
requiredChecks: ["<provider contract test>"]
|
||||
research:
|
||||
corpusPaths: ["<corpus paths>"]
|
||||
evidencePaths: ["<evidence/provenance paths>"]
|
||||
provenanceRequired: true
|
||||
citationVerificationRequired: true
|
||||
security:
|
||||
disclosureUrl: "https://example.invalid/security"
|
||||
sensitiveDataPaths: ["<sensitive-data paths>"]
|
||||
mutationRequiresExplicitApproval: true
|
||||
support:
|
||||
requiredEnvironmentFields: ["version", "operating-system", "runtime", "provider", "reproduction"]
|
||||
translationPolicy: "validated-only"
|
||||
Reference in new issue
Block a user