Repository navigation
docs(CLNT-754): document template edits on PUT /api/v1/template/ - #971
Conversation
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Automations to automatically generate PRs for you. |
cc-review: PR #971 — Deprecate PUT /api/v0/template/ and document PUT /api/v1/template/ (CLNT-754)Branch Strategy
The merge-base is 97cf844, not the current main tip. Main has not changed any of the 5 touched files since, and the three-dot diff is clean. SummaryThe PR swaps the edit-template reference to v1 correctly: both
Ten Minors cover accuracy gaps in the new prose and schema, and one out-of-scope note is recorded. Coverage limits: The 404-to-400 rewrap (Issue #2) is traced from the backend source and the Pyramid exception hierarchy, not exercised against a running backend. The ticket text was taken from its description and checklist; its comments were not read. The Test execution: deferred to the repo's CI/CD pipeline (repo setting); findings are by inspection and the CI result is not part of this review 1. Sources & Blade SharpeningInputs from Steps 1-5. Sources consulted:
Local universe enumeration:
Cross-source reconciliations applied during lift:
🔪 BLADE SHARPENED: ✅ 2. Constraints VerifiedInput from Step 5 (mesh + vertex tags) + Steps 7-8 (Status).
Vertex tags: 3. Constraint Mesh AnalysisInput from Step 7 (Attack Matrix). Constraint Attack Matrix C1 — v0 deprecation/410 stated
C2 — v0 op replaced by v1 op ✅
C3 — Public docs consistent with the replacement ❌
C4 — v1 requires
C5 — Documented 404 reachable ❌
C6 — 400 coverage and example
C7 — Immutable / previous version keeps identifiers
C8 — "Fields you leave out are not carried over"
C9 — 200 schema, no-edit path, tag/image equivalence
C10 — Non-creator copy and masked credentials
C11 — CLI/SDK reference matches shipped tools
C12 — Sibling spec consistency
C13 — Diff hygiene ✅
C14 — 401/429 ✅
C15 — Rollout ordering
Cluster annotations Operative Test Could a wrong implementation accidentally satisfy this mesh?
4. Implementation / Constraint AnalysisInput from Step 8 (QA) + Step 9 (Deep Spec Audit) + Step 9.1 (Portability) + AC Satisfaction cross-refs. Severity Spread: Critical: 0 | Major: 2 | Minor: 10 Issues Found:
Out-of-scope follow-ups (never block this PR; carried at true severity):
Withdrawn on evidence:
AC Satisfaction:
Test-citation note: this diff touches Deep Spec Audit: 0 specs verified · 0 violations · sibling-Requirement sweep: 0 amended specs, 0 cross-Requirement contradictions
Execution Tracing:
Contradiction Analysis: 2 in-scope contradictions between the docs and traced source (C3, C5), plus 10 smaller accuracy gaps, across 15 constraints × 4 attack vectors = 60 cells checked. Ecosystem Impact: Blast radius is the 2 untouched guides (CLI, SDK), the untouched create_template.yaml, the regenerated CLI and SDK reference pages, and clients that migrate to v1. Backend v1 and the CLI branch are the cross-repo boundaries; both were read. Quality Standards: No governing spec exists in this repo. The new prose is dense and follows the existing style. Two sibling pages and one sibling spec were left unreconciled (Issues #1, #12). 5. Richness ScoreInput from Step 9.5. Richness: ●●●●●●●○ (Source · Q · C · Seq · Cond · Arch · Sem · Coverage)
6. RecommendationInput from Section 4 (Severity Spread) + Section 5 (Richness). VERDICT: REQUEST CHANGES 🛑 REQUEST CHANGES — Two in-scope Majors: the CLI and SDK guides still teach a partial-update example that now corrupts a template (Issue #1), and the documented 404 cannot reach clients as written (Issue #2). To approve, the author should:
Optional:
7. Notes for Author
Generated by Constraint Cycle 2.7.0 |
Summary
PUT /api/v0/template/is being deprecated with a 410 (CLNT-754). The edit-template reference now documentsPUT /api/v1/template/:idandhash_idare both required, edits create a new immutable version with a newid/hash_id, and the body must carry the full template rather than only changed fields.********credential placeholder round-trip.vastai update templateandVastAI.update_templatereference pages from the CLI branch that moves them to v1 (vast-ai/vast-cliCLNT-754-cli-update-template-v1); only the description, example, and summary lines change.Rollout
Publish together with the CLI release. The backend 410 lands after both.
Test plan
python3 api-reference/openapi/build.pyregeneratedopenapi.yaml;/api/v0/templatenow has only GET/POST/DELETE and/api/v1/templatehas PUTmint openapi-checkruns in CI (not installed locally)Jira: https://vastai.atlassian.net/browse/CLNT-754