@bendyline/gilde 0.1.54 → 0.1.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/authoring/chat-models/glm-5.3-flash-320b-q2.json +129 -0
- package/authoring/chat-models/qwen3.5-27b-q4.json +147 -0
- package/authoring/gstack/evals/cso.json +21 -18
- package/authoring/gstack/evals/investigate.json +25 -22
- package/authoring/gstack/evals/plan-ceo-review.json +19 -16
- package/authoring/gstack/overlays/retro.json +2 -2
- package/authoring/gstack/wave.json +2 -2
- package/data/chat-models/gl/glm-5.3-flash-320b-q2/manifest.json +137 -0
- package/data/chat-models/gl/glm-5.3-flash-320b-q2/versions/1.0.0/manifest.json +23 -0
- package/data/chat-models/index.json +1 -1
- package/data/chat-models/qw/qwen3.5-27b-q4/manifest.json +217 -0
- package/data/chat-models/qw/qwen3.5-27b-q4/versions/1.0.0/manifest.json +90 -0
- package/data/craftbook-templates/a1/a11y-audit/versions/1.1.3/test.json +16 -8
- package/data/craftbook-templates/ac/accessibility-retrofit/versions/2.0.2/craftbook.json +618 -0
- package/data/craftbook-templates/ac/accessibility-retrofit/versions/2.0.2/test.json +228 -0
- package/data/craftbook-templates/al/album-curate/versions/1.0.3/test.json +6 -3
- package/data/craftbook-templates/al/alert-rules/versions/1.0.3/test.json +8 -8
- package/data/craftbook-templates/an/anniversary-cut/versions/1.0.5/test.json +10 -5
- package/data/craftbook-templates/an/annual-document-review/versions/1.0.3/test.json +16 -8
- package/data/craftbook-templates/an/anomaly-scan/versions/1.0.3/test.json +12 -6
- package/data/craftbook-templates/ap/apply-review-findings/versions/1.0.2/craftbook.json +602 -0
- package/data/craftbook-templates/ap/apply-review-findings/versions/1.0.2/test.json +290 -0
- package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.3/test.json +18 -9
- package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.5/test.json +10 -5
- package/data/craftbook-templates/au/auth-flow/versions/1.0.3/test.json +12 -6
- package/data/craftbook-templates/au/auth-flow/versions/1.0.4/craftbook.json +282 -0
- package/data/craftbook-templates/au/auth-flow/versions/1.0.4/test.json +143 -0
- package/data/craftbook-templates/au/automation-recipe/versions/1.0.3/test.json +12 -6
- package/data/craftbook-templates/ba/backup-routine/versions/1.0.4/craftbook.json +282 -0
- package/data/craftbook-templates/ba/backup-routine/versions/1.0.4/test.json +108 -0
- package/data/craftbook-templates/bl/blog-post/versions/1.0.3/test.json +8 -8
- package/data/craftbook-templates/br/branding-website/versions/1.1.3/craftbook.json +335 -0
- package/data/craftbook-templates/br/branding-website/versions/1.1.3/test.json +164 -0
- package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.3/test.json +8 -8
- package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.7/craftbook.json +620 -0
- package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.7/test.json +376 -0
- package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.8/craftbook.json +621 -0
- package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.8/test.json +376 -0
- package/data/craftbook-templates/bu/bug-fix-tdd/versions/2.0.2/craftbook.json +730 -0
- package/data/craftbook-templates/bu/bug-fix-tdd/versions/2.0.2/test.json +221 -0
- package/data/craftbook-templates/bu/build-loop/versions/1.1.1/test.json +8 -8
- package/data/craftbook-templates/ca/case-study/versions/1.0.3/test.json +8 -8
- package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.4/test.json +10 -5
- package/data/craftbook-templates/ch/character-turnaround/versions/1.0.3/test.json +25 -11
- package/data/craftbook-templates/ci/ci-pipeline/versions/2.0.2/craftbook.json +587 -0
- package/data/craftbook-templates/ci/ci-pipeline/versions/2.0.2/test.json +225 -0
- package/data/craftbook-templates/ci/citation-audit/versions/1.0.3/test.json +28 -14
- package/data/craftbook-templates/cl/cli-tool/versions/1.1.3/test.json +8 -8
- package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.3/test.json +16 -8
- package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.3/test.json +18 -9
- package/data/craftbook-templates/co/codemod-sweep/versions/1.0.2/craftbook.json +605 -0
- package/data/craftbook-templates/co/codemod-sweep/versions/1.0.2/test.json +252 -0
- package/data/craftbook-templates/co/cohort-analysis/versions/1.0.3/test.json +18 -9
- package/data/craftbook-templates/co/competitive-analysis/versions/1.0.3/test.json +23 -15
- package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.3/test.json +28 -14
- package/data/craftbook-templates/co/content-deck/versions/1.2.3/craftbook.json +4 -4
- package/data/craftbook-templates/co/content-deck/versions/1.2.3/test.json +3 -0
- package/data/craftbook-templates/co/content-deck/versions/1.2.4/craftbook.json +341 -0
- package/data/craftbook-templates/co/content-deck/versions/1.2.4/test.json +169 -0
- package/data/craftbook-templates/co/copy-review/versions/1.0.3/test.json +14 -7
- package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.3/craftbook.json +4 -4
- package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.3/test.json +3 -0
- package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.4/craftbook.json +345 -0
- package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.4/test.json +187 -0
- package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.3/test.json +26 -13
- package/data/craftbook-templates/co/cover-letter/versions/1.0.3/test.json +8 -8
- package/data/craftbook-templates/cs/csv-transformer/versions/1.2.4/test.json +7 -7
- package/data/craftbook-templates/da/dashboard-spec/versions/1.0.3/test.json +7 -7
- package/data/craftbook-templates/da/data-export-migrate/versions/1.0.4/craftbook.json +285 -0
- package/data/craftbook-templates/da/data-export-migrate/versions/1.0.4/test.json +104 -0
- package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.5/craftbook.json +284 -0
- package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.5/test.json +162 -0
- package/data/craftbook-templates/da/data-quality-audit/versions/1.0.3/test.json +38 -19
- package/data/craftbook-templates/da/data-to-report/versions/1.0.3/test.json +12 -6
- package/data/craftbook-templates/db/db-index-tuning/versions/1.0.4/craftbook.json +286 -0
- package/data/craftbook-templates/db/db-index-tuning/versions/1.0.4/test.json +104 -0
- package/data/craftbook-templates/de/dependency-audit/versions/1.1.3/test.json +14 -7
- package/data/craftbook-templates/de/dependency-upgrade/versions/1.0.2/craftbook.json +621 -0
- package/data/craftbook-templates/de/dependency-upgrade/versions/1.0.2/test.json +235 -0
- package/data/craftbook-templates/de/design-review/versions/1.0.3/test.json +16 -8
- package/data/craftbook-templates/de/design-system-consultation/versions/2.0.7/craftbook.json +616 -0
- package/data/craftbook-templates/de/design-system-consultation/versions/2.0.7/test.json +201 -0
- package/data/craftbook-templates/de/design-system-consultation/versions/2.0.8/craftbook.json +616 -0
- package/data/craftbook-templates/de/design-system-consultation/versions/2.0.8/test.json +201 -0
- package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.4/craftbook.json +285 -0
- package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.4/test.json +104 -0
- package/data/craftbook-templates/do/doc-rewrite/versions/1.0.3/test.json +119 -55
- package/data/craftbook-templates/do/dockerize-app/versions/1.0.4/craftbook.json +285 -0
- package/data/craftbook-templates/do/dockerize-app/versions/1.0.4/test.json +92 -0
- package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.3/test.json +18 -9
- package/data/craftbook-templates/dr/draft-social-post/versions/1.0.2/craftbook.json +324 -0
- package/data/craftbook-templates/dr/draft-social-post/versions/1.0.2/test.json +161 -0
- package/data/craftbook-templates/ed/edit-notes/versions/1.0.3/test.json +11 -4
- package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.7/craftbook.json +566 -0
- package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.7/test.json +191 -0
- package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.8/craftbook.json +566 -0
- package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.8/test.json +191 -0
- package/data/craftbook-templates/ep/episode-plan/versions/1.0.3/test.json +10 -5
- package/data/craftbook-templates/ex/executive-level-review/versions/2.0.7/craftbook.json +595 -0
- package/data/craftbook-templates/ex/executive-level-review/versions/2.0.7/test.json +136 -0
- package/data/craftbook-templates/ex/executive-level-review/versions/2.0.8/craftbook.json +595 -0
- package/data/craftbook-templates/ex/executive-level-review/versions/2.0.8/test.json +139 -0
- package/data/craftbook-templates/ex/expense-categorize/versions/1.0.4/craftbook.json +277 -0
- package/data/craftbook-templates/ex/expense-categorize/versions/1.0.4/test.json +104 -0
- package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.1.2/craftbook.json +327 -0
- package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.1.2/test.json +162 -0
- package/data/craftbook-templates/fl/flaky-test-fix/versions/1.0.2/craftbook.json +718 -0
- package/data/craftbook-templates/fl/flaky-test-fix/versions/1.0.2/test.json +239 -0
- package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.4/craftbook.json +285 -0
- package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.4/test.json +162 -0
- package/data/craftbook-templates/fo/form-wizard/versions/1.0.3/test.json +8 -8
- package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.3/test.json +11 -4
- package/data/craftbook-templates/ho/hotfix-flow/versions/2.0.2/craftbook.json +610 -0
- package/data/craftbook-templates/ho/hotfix-flow/versions/2.0.2/test.json +220 -0
- package/data/craftbook-templates/ht/html-arcade-game/versions/1.2.3/craftbook.json +343 -0
- package/data/craftbook-templates/ht/html-arcade-game/versions/1.2.3/test.json +176 -0
- package/data/craftbook-templates/id/idea-office-hours/versions/2.0.7/craftbook.json +566 -0
- package/data/craftbook-templates/id/idea-office-hours/versions/2.0.7/test.json +141 -0
- package/data/craftbook-templates/id/idea-office-hours/versions/2.0.8/craftbook.json +566 -0
- package/data/craftbook-templates/id/idea-office-hours/versions/2.0.8/test.json +141 -0
- package/data/craftbook-templates/im/image-set-index/versions/1.2.3/craftbook.json +298 -0
- package/data/craftbook-templates/im/image-set-index/versions/1.2.3/test.json +180 -0
- package/data/craftbook-templates/in/insurance-inventory/versions/1.0.3/test.json +11 -4
- package/data/craftbook-templates/in/interactive-quiz/versions/1.0.3/test.json +48 -23
- package/data/craftbook-templates/in/invitation-design/versions/1.0.3/test.json +1 -1
- package/data/craftbook-templates/index.json +1 -1
- package/data/craftbook-templates/it/item-intake/versions/1.0.3/test.json +11 -4
- package/data/craftbook-templates/le/lead-enrichment/versions/1.0.4/craftbook.json +277 -0
- package/data/craftbook-templates/le/lead-enrichment/versions/1.0.4/test.json +104 -0
- package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.3/test.json +16 -8
- package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.3/test.json +3 -0
- package/data/craftbook-templates/mo/morning-report/versions/1.0.3/test.json +21 -9
- package/data/craftbook-templates/of/office-hours/versions/1.1.1/test.json +8 -8
- package/data/craftbook-templates/pe/perf-optimization/versions/2.0.2/craftbook.json +697 -0
- package/data/craftbook-templates/pe/perf-optimization/versions/2.0.2/test.json +235 -0
- package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.3/test.json +19 -8
- package/data/craftbook-templates/pl/plan/versions/1.0.2/craftbook.json +222 -0
- package/data/craftbook-templates/pl/plan/versions/1.0.2/test.json +91 -0
- package/data/craftbook-templates/pl/playtest-report/versions/1.0.3/test.json +17 -7
- package/data/craftbook-templates/pr/practice-exam/versions/1.0.3/test.json +7 -2
- package/data/craftbook-templates/pr/practice-session/versions/1.0.3/test.json +11 -4
- package/data/craftbook-templates/pu/pull-request-review/versions/1.9.2/craftbook.json +435 -0
- package/data/craftbook-templates/pu/pull-request-review/versions/1.9.2/test.json +141 -0
- package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.3/test.json +16 -8
- package/data/craftbook-templates/re/receipt-intake/versions/1.0.3/test.json +11 -4
- package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.4/craftbook.json +277 -0
- package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.4/test.json +104 -0
- package/data/craftbook-templates/re/recipe-capture/versions/1.0.3/test.json +13 -5
- package/data/craftbook-templates/re/record-a-relative/versions/1.0.3/test.json +3 -0
- package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.4/craftbook.json +285 -0
- package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.4/test.json +104 -0
- package/data/craftbook-templates/re/refactor-module/versions/2.0.2/craftbook.json +695 -0
- package/data/craftbook-templates/re/refactor-module/versions/2.0.2/test.json +241 -0
- package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.4/craftbook.json +361 -0
- package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.4/test.json +138 -0
- package/data/craftbook-templates/re/release-notes/versions/1.0.4/test.json +8 -8
- package/data/craftbook-templates/re/release-notes/versions/1.0.5/craftbook.json +339 -0
- package/data/craftbook-templates/re/release-notes/versions/1.0.5/test.json +111 -0
- package/data/craftbook-templates/re/reliability-review/versions/1.0.3/test.json +16 -8
- package/data/craftbook-templates/re/research-report/versions/1.0.3/test.json +16 -8
- package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.7/craftbook.json +595 -0
- package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.7/test.json +157 -0
- package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.8/craftbook.json +596 -0
- package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.8/test.json +157 -0
- package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.4/test.json +13 -5
- package/data/craftbook-templates/sc/schema-migration/versions/2.0.2/craftbook.json +624 -0
- package/data/craftbook-templates/sc/schema-migration/versions/2.0.2/test.json +225 -0
- package/data/craftbook-templates/sc/script-automation/versions/1.0.4/craftbook.json +284 -0
- package/data/craftbook-templates/sc/script-automation/versions/1.0.4/test.json +162 -0
- package/data/craftbook-templates/se/security-architecture-review/versions/2.0.7/craftbook.json +597 -0
- package/data/craftbook-templates/se/security-architecture-review/versions/2.0.7/test.json +154 -0
- package/data/craftbook-templates/se/security-architecture-review/versions/2.0.8/craftbook.json +597 -0
- package/data/craftbook-templates/se/security-architecture-review/versions/2.0.8/test.json +157 -0
- package/data/craftbook-templates/sh/ship/versions/1.1.2/craftbook.json +346 -0
- package/data/craftbook-templates/sh/ship/versions/1.1.2/test.json +228 -0
- package/data/craftbook-templates/so/social-digest/versions/1.0.3/craftbook.json +239 -0
- package/data/craftbook-templates/so/social-digest/versions/1.0.3/test.json +168 -0
- package/data/craftbook-templates/so/source-quality-audit/versions/1.0.3/test.json +25 -11
- package/data/craftbook-templates/sp/spec-authoring/versions/2.0.7/craftbook.json +599 -0
- package/data/craftbook-templates/sp/spec-authoring/versions/2.0.7/test.json +162 -0
- package/data/craftbook-templates/sp/spec-authoring/versions/2.0.8/craftbook.json +599 -0
- package/data/craftbook-templates/sp/spec-authoring/versions/2.0.8/test.json +162 -0
- package/data/craftbook-templates/te/technical-documentation/versions/2.0.7/craftbook.json +577 -0
- package/data/craftbook-templates/te/technical-documentation/versions/2.0.7/test.json +174 -0
- package/data/craftbook-templates/te/technical-documentation/versions/2.0.8/craftbook.json +577 -0
- package/data/craftbook-templates/te/technical-documentation/versions/2.0.8/test.json +174 -0
- package/data/craftbook-templates/te/test-coverage-review/versions/1.2.1/test.json +16 -8
- package/data/craftbook-templates/te/test-suite-backfill/versions/2.0.2/craftbook.json +592 -0
- package/data/craftbook-templates/te/test-suite-backfill/versions/2.0.2/test.json +195 -0
- package/data/craftbook-templates/th/thank-you-batch/versions/1.0.3/test.json +6 -3
- package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.3/test.json +11 -4
- package/data/craftbook-templates/ti/tileset-batch/versions/1.0.3/test.json +9 -3
- package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.3/test.json +10 -5
- package/data/craftbook-templates/tr/transcribe-index/versions/1.0.3/test.json +6 -3
- package/data/craftbook-templates/tr/translate-content/versions/1.1.3/craftbook.json +140 -0
- package/data/craftbook-templates/tr/translate-content/versions/1.1.3/test.json +141 -0
- package/data/craftbook-templates/ty/type-safety-pass/versions/2.0.2/craftbook.json +594 -0
- package/data/craftbook-templates/ty/type-safety-pass/versions/2.0.2/test.json +221 -0
- package/data/craftbook-templates/ux/ux-update/versions/1.0.2/craftbook.json +606 -0
- package/data/craftbook-templates/ux/ux-update/versions/1.0.2/test.json +206 -0
- package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.3/test.json +11 -4
- package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.3/test.json +21 -9
- package/data/craftbook-templates/wh/whitepaper/versions/1.0.3/test.json +16 -8
- package/data/craftbook-templates/ye/year-in-review/versions/1.0.3/test.json +8 -4
- package/data/project-types/index.json +1 -1
- package/data/project-types/ju/just-chat/manifest.json +1 -1
- package/data/project-types/ju/just-chat/versions/1.0.1/about.md +5 -0
- package/data/project-types/ju/just-chat/versions/1.0.1/manifest.json +19 -0
- package/package.json +1 -1
- package/schemas/chat-model-identity.schema.json +27 -0
- package/schemas/chat-model-version.schema.json +22 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "Technical Documentation — rate limiter Diataxis set",
|
|
4
|
+
"objective": "Exercise the Technical Documentation craftbook on a small real code surface and require a coherent, cross-linked Diataxis documentation set grounded in source behavior.",
|
|
5
|
+
"tags": [
|
|
6
|
+
"workflow",
|
|
7
|
+
"documentation",
|
|
8
|
+
"diataxis",
|
|
9
|
+
"typescript"
|
|
10
|
+
],
|
|
11
|
+
"prompt": "Use the Technical Documentation craftbook to document the dependency-free rate limiter in this workspace. Inspect the source and test rather than guessing. Produce the craftbook inventory and plan plus a coherent set under `docs/`: `documentation-index.md`, `tutorial-rate-limit.md`, `how-to-configure-rate-limit.md`, `reference-rate-limit.md`, and `explanation-fixed-window.md`. The index must clearly organize tutorials, how-to, reference, and explanation, link to every page, cite the implementation/test where claims come from, and state how the documented examples were verified.",
|
|
12
|
+
"setup": {
|
|
13
|
+
"projectName": "Rate limiter documentation",
|
|
14
|
+
"about": "A hermetic TypeScript library documentation exercise. There are no external APIs or package dependencies.",
|
|
15
|
+
"missionObjectives": "Create accurate, navigable documentation that helps a first-time adopter use `createFixedWindowLimiter` and understand its tradeoffs without reading all source code.",
|
|
16
|
+
"files": [
|
|
17
|
+
{
|
|
18
|
+
"path": "README.md",
|
|
19
|
+
"content": "# tiny-limit\n\nA dependency-free fixed-window request limiter. Public behavior is defined by `src/rate-limit.ts` and its test. Documentation is intentionally incomplete.\n"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"path": "src/rate-limit.ts",
|
|
23
|
+
"content": "export interface RateLimitOptions {\n windowMs: number;\n max: number;\n}\n\nexport interface RateLimitDecision {\n allowed: boolean;\n remaining: number;\n resetAt: number;\n}\n\nexport function createFixedWindowLimiter(options: RateLimitOptions) {\n if (!Number.isInteger(options.max) || options.max < 1) throw new RangeError('max must be a positive integer');\n if (!Number.isFinite(options.windowMs) || options.windowMs <= 0) throw new RangeError('windowMs must be positive');\n const buckets = new Map<string, { count: number; resetAt: number }>();\n\n return function check(key: string, now = Date.now()): RateLimitDecision {\n const current = buckets.get(key);\n const bucket = !current || now >= current.resetAt\n ? { count: 0, resetAt: now + options.windowMs }\n : current;\n bucket.count += 1;\n buckets.set(key, bucket);\n return {\n allowed: bucket.count <= options.max,\n remaining: Math.max(0, options.max - bucket.count),\n resetAt: bucket.resetAt,\n };\n };\n}\n"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"path": "test/rate-limit.test.ts",
|
|
27
|
+
"content": "import { strict as assert } from 'node:assert';\nimport { createFixedWindowLimiter } from '../src/rate-limit.js';\n\nconst check = createFixedWindowLimiter({ windowMs: 1000, max: 2 });\nassert.deepEqual(check('ada', 100), { allowed: true, remaining: 1, resetAt: 1100 });\nassert.deepEqual(check('ada', 200), { allowed: true, remaining: 0, resetAt: 1100 });\nassert.deepEqual(check('ada', 300), { allowed: false, remaining: 0, resetAt: 1100 });\nassert.deepEqual(check('ada', 1100), { allowed: true, remaining: 1, resetAt: 2100 });\n"
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
"mocks": [],
|
|
32
|
+
"success": {
|
|
33
|
+
"summary": "The craftbook produces a complete, grounded five-page Diataxis set with a navigable index and terminal task evidence.",
|
|
34
|
+
"deliverables": [
|
|
35
|
+
{
|
|
36
|
+
"path": "docs/documentation-index.md",
|
|
37
|
+
"kind": "markdown-doc",
|
|
38
|
+
"minBytes": 850,
|
|
39
|
+
"checks": [
|
|
40
|
+
{
|
|
41
|
+
"kind": "contains",
|
|
42
|
+
"file": "docs/documentation-index.md",
|
|
43
|
+
"pattern": "^#{1,3}\\s+Tutorials?\\b[\\s\\S]*^#{1,3}\\s+How-to guides?\\b[\\s\\S]*^#{1,3}\\s+Reference\\b[\\s\\S]*^#{1,3}\\s+Explanation\\b[\\s\\S]*^#{1,3}\\s+Verification\\b",
|
|
44
|
+
"flags": "im",
|
|
45
|
+
"label": "Diataxis map and verification"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"kind": "contains",
|
|
49
|
+
"file": "docs/documentation-index.md",
|
|
50
|
+
"pattern": "tutorial-rate-limit\\.md[\\s\\S]*how-to-configure-rate-limit\\.md[\\s\\S]*reference-rate-limit\\.md[\\s\\S]*explanation-fixed-window\\.md",
|
|
51
|
+
"flags": "i",
|
|
52
|
+
"label": "all requested pages linked"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"kind": "citationsResolve",
|
|
56
|
+
"file": "docs/documentation-index.md",
|
|
57
|
+
"minCitations": 4
|
|
58
|
+
}
|
|
59
|
+
]
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"path": "docs/tutorial-rate-limit.md",
|
|
63
|
+
"kind": "markdown-doc",
|
|
64
|
+
"minBytes": 650,
|
|
65
|
+
"checks": [
|
|
66
|
+
{
|
|
67
|
+
"kind": "contains",
|
|
68
|
+
"file": "docs/tutorial-rate-limit.md",
|
|
69
|
+
"pattern": "createFixedWindowLimiter[\\s\\S]*windowMs[\\s\\S]*max[\\s\\S]*(allowed|remaining|resetAt)",
|
|
70
|
+
"label": "runnable API walkthrough"
|
|
71
|
+
}
|
|
72
|
+
]
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"path": "docs/how-to-configure-rate-limit.md",
|
|
76
|
+
"kind": "markdown-doc",
|
|
77
|
+
"minBytes": 550,
|
|
78
|
+
"checks": [
|
|
79
|
+
{
|
|
80
|
+
"kind": "contains",
|
|
81
|
+
"file": "docs/how-to-configure-rate-limit.md",
|
|
82
|
+
"pattern": "windowMs[\\s\\S]*max[\\s\\S]*(positive|greater than|at least)[\\s\\S]*(integer|finite)",
|
|
83
|
+
"flags": "i",
|
|
84
|
+
"label": "configuration constraints"
|
|
85
|
+
}
|
|
86
|
+
]
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"path": "docs/reference-rate-limit.md",
|
|
90
|
+
"kind": "markdown-doc",
|
|
91
|
+
"minBytes": 650,
|
|
92
|
+
"checks": [
|
|
93
|
+
{
|
|
94
|
+
"kind": "contains",
|
|
95
|
+
"file": "docs/reference-rate-limit.md",
|
|
96
|
+
"pattern": "RateLimitOptions[\\s\\S]*RateLimitDecision[\\s\\S]*allowed[\\s\\S]*remaining[\\s\\S]*resetAt",
|
|
97
|
+
"label": "public type reference"
|
|
98
|
+
}
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"path": "docs/explanation-fixed-window.md",
|
|
103
|
+
"kind": "markdown-doc",
|
|
104
|
+
"minBytes": 600,
|
|
105
|
+
"checks": [
|
|
106
|
+
{
|
|
107
|
+
"kind": "contains",
|
|
108
|
+
"file": "docs/explanation-fixed-window.md",
|
|
109
|
+
"pattern": "fixed[- ]window[\\s\\S]*(boundary|burst|trade[- ]?off)[\\s\\S]*(memory|Map|process)",
|
|
110
|
+
"flags": "i",
|
|
111
|
+
"label": "mechanism and tradeoffs"
|
|
112
|
+
}
|
|
113
|
+
]
|
|
114
|
+
}
|
|
115
|
+
],
|
|
116
|
+
"checks": [
|
|
117
|
+
{
|
|
118
|
+
"kind": "fileCount",
|
|
119
|
+
"ext": [
|
|
120
|
+
".md"
|
|
121
|
+
],
|
|
122
|
+
"min": 5,
|
|
123
|
+
"dir": "docs"
|
|
124
|
+
}
|
|
125
|
+
],
|
|
126
|
+
"taskNotes": {
|
|
127
|
+
"minBytes": 180,
|
|
128
|
+
"checks": [
|
|
129
|
+
{
|
|
130
|
+
"kind": "contains",
|
|
131
|
+
"file": "task-notes.md",
|
|
132
|
+
"pattern": "\\bDONE\\b[\\s\\S]*docs/documentation-index\\.md[\\s\\S]*(5|five)\\s+(pages|documents)",
|
|
133
|
+
"flags": "i",
|
|
134
|
+
"label": "terminal note records the documentation set"
|
|
135
|
+
}
|
|
136
|
+
],
|
|
137
|
+
"requireCraftbookTask": true
|
|
138
|
+
},
|
|
139
|
+
"taskGraph": {
|
|
140
|
+
"requireCraftbookTask": true,
|
|
141
|
+
"requireTerminalStep": true
|
|
142
|
+
},
|
|
143
|
+
"unchangedFixtures": [
|
|
144
|
+
"README.md",
|
|
145
|
+
"src/rate-limit.ts",
|
|
146
|
+
"test/rate-limit.test.ts"
|
|
147
|
+
]
|
|
148
|
+
},
|
|
149
|
+
"rubric": {
|
|
150
|
+
"artifact": {
|
|
151
|
+
"path": "docs/documentation-index.md",
|
|
152
|
+
"kind": "markdown"
|
|
153
|
+
},
|
|
154
|
+
"axes": [
|
|
155
|
+
{
|
|
156
|
+
"name": "Source fidelity",
|
|
157
|
+
"description": "Claims, examples, inputs, outputs, and edge cases agree with the supplied implementation and test."
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"name": "Diataxis separation",
|
|
161
|
+
"description": "Tutorial, how-to, reference, and explanation pages each serve their distinct reader need without becoming duplicate summaries."
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"name": "Navigation and verification",
|
|
165
|
+
"description": "The set is cross-linked, easy to scan, and transparent about how examples and factual claims were checked."
|
|
166
|
+
}
|
|
167
|
+
]
|
|
168
|
+
},
|
|
169
|
+
"qualityFocus": [
|
|
170
|
+
"Every public option and result field matches the source",
|
|
171
|
+
"Each Diataxis page has a distinct job",
|
|
172
|
+
"The index links the complete set and explains verification"
|
|
173
|
+
]
|
|
174
|
+
}
|
|
@@ -45,46 +45,54 @@
|
|
|
45
45
|
"kind": "contains",
|
|
46
46
|
"file": "tasks/eval/coverage-review.md",
|
|
47
47
|
"pattern": "src/price\\.ts|test/price\\.test\\.ts",
|
|
48
|
-
"flags": "i"
|
|
48
|
+
"flags": "i",
|
|
49
|
+
"artifact": true
|
|
49
50
|
},
|
|
50
51
|
{
|
|
51
52
|
"kind": "contains",
|
|
52
53
|
"file": "tasks/eval/coverage-review.md",
|
|
53
54
|
"pattern": "100%[\\s\\S]{0,120}25%|line coverage[\\s\\S]{0,120}branch",
|
|
54
55
|
"flags": "i",
|
|
55
|
-
"label": "coverage is not behavior"
|
|
56
|
+
"label": "coverage is not behavior",
|
|
57
|
+
"artifact": true
|
|
56
58
|
},
|
|
57
59
|
{
|
|
58
60
|
"kind": "contains",
|
|
59
61
|
"file": "tasks/eval/coverage-review.md",
|
|
60
62
|
"pattern": "toBeDefined|weak assertion|assert.*exact",
|
|
61
|
-
"flags": "i"
|
|
63
|
+
"flags": "i",
|
|
64
|
+
"artifact": true
|
|
62
65
|
},
|
|
63
66
|
{
|
|
64
67
|
"kind": "contains",
|
|
65
68
|
"file": "tasks/eval/coverage-review.md",
|
|
66
69
|
"pattern": "negative|invalid cents",
|
|
67
|
-
"flags": "i"
|
|
70
|
+
"flags": "i",
|
|
71
|
+
"artifact": true
|
|
68
72
|
},
|
|
69
73
|
{
|
|
70
74
|
"kind": "contains",
|
|
71
75
|
"file": "tasks/eval/coverage-review.md",
|
|
72
76
|
"pattern": "HALF|SAVE10",
|
|
73
|
-
"flags": "i"
|
|
77
|
+
"flags": "i",
|
|
78
|
+
"artifact": true
|
|
74
79
|
},
|
|
75
80
|
{
|
|
76
81
|
"kind": "contains",
|
|
77
82
|
"file": "tasks/eval/coverage-review.md",
|
|
78
83
|
"pattern": "unknown coupon|toThrow",
|
|
79
|
-
"flags": "i"
|
|
84
|
+
"flags": "i",
|
|
85
|
+
"artifact": true
|
|
80
86
|
},
|
|
81
87
|
{
|
|
82
88
|
"kind": "contains",
|
|
83
89
|
"file": "tasks/eval/coverage-review.md",
|
|
84
90
|
"pattern": "Quick wins|priority|high",
|
|
85
|
-
"flags": "i"
|
|
91
|
+
"flags": "i",
|
|
92
|
+
"artifact": true
|
|
86
93
|
}
|
|
87
|
-
]
|
|
94
|
+
],
|
|
95
|
+
"artifact": true
|
|
88
96
|
}
|
|
89
97
|
]
|
|
90
98
|
},
|