opencode-skills-collection 4.1.1 → 4.1.3
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.
Potentially problematic release.
This version of opencode-skills-collection might be problematic. Click here for more details.
- package/bundled-skills/.antigravity-install-manifest.json +133 -1
- package/bundled-skills/360-feedback-system/SKILL.md +481 -0
- package/bundled-skills/access-matrix/SKILL.md +338 -0
- package/bundled-skills/accounting-audit-system-builder/SKILL.md +302 -0
- package/bundled-skills/accounting-audit-system-builder/references/catalog.md +114 -0
- package/bundled-skills/accounting-software-selection/SKILL.md +427 -0
- package/bundled-skills/accounting-software-selection/references/build-artifacts.md +362 -0
- package/bundled-skills/accounting-software-selection/references/common-pitfalls.md +44 -0
- package/bundled-skills/accounting-software-selection/references/field-reference.md +93 -0
- package/bundled-skills/accounting-software-selection/references/select-options.md +202 -0
- package/bundled-skills/admin-access-register/SKILL.md +381 -0
- package/bundled-skills/advanced-analytics-dashboard/SKILL.md +318 -0
- package/bundled-skills/ai-image-generation-studio/SKILL.md +259 -0
- package/bundled-skills/ai-logo-maker/SKILL.md +259 -0
- package/bundled-skills/ai-multilingual-dubbing/SKILL.md +259 -0
- package/bundled-skills/ai-photo-restyler/SKILL.md +259 -0
- package/bundled-skills/ai-podcast-voiceover/SKILL.md +259 -0
- package/bundled-skills/alumni-re-hire-tracker/SKILL.md +314 -0
- package/bundled-skills/announcement-board/SKILL.md +336 -0
- package/bundled-skills/antigravity-maintainer-batch-release/SKILL.md +63 -4
- package/bundled-skills/asset-it-management/SKILL.md +407 -0
- package/bundled-skills/attendance/SKILL.md +331 -0
- package/bundled-skills/audit-log/SKILL.md +314 -0
- package/bundled-skills/audit-preparation/SKILL.md +416 -0
- package/bundled-skills/beatra/SKILL.md +260 -0
- package/bundled-skills/board-governance/SKILL.md +360 -0
- package/bundled-skills/brand-growth-system-builder/SKILL.md +360 -0
- package/bundled-skills/brand-kit-print-collateral/SKILL.md +498 -0
- package/bundled-skills/buddy-program-manager/SKILL.md +329 -0
- package/bundled-skills/budget-cash-flow/SKILL.md +352 -0
- package/bundled-skills/busabase/SKILL.md +118 -0
- package/bundled-skills/business-email-template/SKILL.md +480 -0
- package/bundled-skills/business-email-template/references/common-pitfalls.md +30 -0
- package/bundled-skills/business-website-setup/SKILL.md +489 -0
- package/bundled-skills/business-website-setup/references/common-pitfalls.md +32 -0
- package/bundled-skills/candidate-talent-pool/SKILL.md +359 -0
- package/bundled-skills/capacity-workload-planner/SKILL.md +354 -0
- package/bundled-skills/changelog-entry/SKILL.md +141 -0
- package/bundled-skills/clients-accounts/SKILL.md +398 -0
- package/bundled-skills/code-of-conduct/SKILL.md +488 -0
- package/bundled-skills/code-of-conduct/references/common-pitfalls.md +31 -0
- package/bundled-skills/company-email-accounts/SKILL.md +404 -0
- package/bundled-skills/competency-matrix/SKILL.md +335 -0
- package/bundled-skills/contract-document-renewal/SKILL.md +396 -0
- package/bundled-skills/course-upskilling-requests/SKILL.md +354 -0
- package/bundled-skills/credit-cycle-analysis/SKILL.md +303 -0
- package/bundled-skills/credit-cycle-analysis/references/best-practices.md +35 -0
- package/bundled-skills/credit-cycle-analysis/references/common-pitfalls.md +5 -0
- package/bundled-skills/credit-cycle-analysis/references/examples.md +34 -0
- package/bundled-skills/credit-cycle-analysis/references/field-reference.md +47 -0
- package/bundled-skills/credit-cycle-analysis/references/how-it-works.md +494 -0
- package/bundled-skills/credit-cycle-analysis/references/security-notes.md +16 -0
- package/bundled-skills/credit-cycle-analysis/references/select-options.md +32 -0
- package/bundled-skills/csv-manual-export/SKILL.md +499 -0
- package/bundled-skills/csv-manual-export/references/common-pitfalls.md +19 -0
- package/bundled-skills/culture-retention/SKILL.md +346 -0
- package/bundled-skills/data-export-engine/SKILL.md +308 -0
- package/bundled-skills/data-privacy-controls/SKILL.md +317 -0
- package/bundled-skills/day-book/SKILL.md +499 -0
- package/bundled-skills/day-book/references/best-practices.md +32 -0
- package/bundled-skills/day-book/references/common-pitfalls.md +58 -0
- package/bundled-skills/day-book/references/field-reference.md +45 -0
- package/bundled-skills/day-book/references/how-it-works.md +7 -0
- package/bundled-skills/day-book/references/related-skills.md +18 -0
- package/bundled-skills/day-book/references/relations.md +14 -0
- package/bundled-skills/day-book/references/reusable-prompt.md +50 -0
- package/bundled-skills/day-book/references/security-safety-notes.md +19 -0
- package/bundled-skills/day-book/references/select-options.md +38 -0
- package/bundled-skills/deep-research-framework/SKILL.md +81 -0
- package/bundled-skills/dei-dashboard/SKILL.md +307 -0
- package/bundled-skills/design-theme-guide/SKILL.md +472 -0
- package/bundled-skills/disciplinary-pip-tracker/SKILL.md +345 -0
- package/bundled-skills/document-management-system/SKILL.md +328 -0
- package/bundled-skills/ecommerce-listing-image-set/SKILL.md +259 -0
- package/bundled-skills/employee-suggestion-hub/SKILL.md +322 -0
- package/bundled-skills/esop-equity-tracker/SKILL.md +331 -0
- package/bundled-skills/events-activities/SKILL.md +355 -0
- package/bundled-skills/expense-accounting/SKILL.md +496 -0
- package/bundled-skills/expense-accounting/references/common-pitfalls.md +41 -0
- package/bundled-skills/expense-accounting/references/related-skills.md +11 -0
- package/bundled-skills/expense-accounting/references/reusable-prompt.md +36 -0
- package/bundled-skills/expense-management/SKILL.md +351 -0
- package/bundled-skills/five-axis-code-review/SKILL.md +78 -0
- package/bundled-skills/free-design-resources/SKILL.md +480 -0
- package/bundled-skills/free-design-resources/references/common-pitfalls.md +44 -0
- package/bundled-skills/free-design-resources/references/related-skills.md +24 -0
- package/bundled-skills/free-design-resources/references/reusable-prompt.md +12 -0
- package/bundled-skills/gamification-engine/SKILL.md +307 -0
- package/bundled-skills/gbp-local-seo-intent/SKILL.md +466 -0
- package/bundled-skills/gbp-local-seo-intent/references/best-practices.md +41 -0
- package/bundled-skills/gbp-local-seo-intent/references/common-pitfalls.md +40 -0
- package/bundled-skills/gbp-local-seo-intent/references/related-skills.md +17 -0
- package/bundled-skills/gbp-local-seo-intent/references/reusable-prompt.md +11 -0
- package/bundled-skills/gbp-local-seo-intent/references/security-safety-notes.md +27 -0
- package/bundled-skills/git-commit-message/SKILL.md +76 -0
- package/bundled-skills/health-wellness/SKILL.md +334 -0
- package/bundled-skills/idea-to-blueprint/LICENSE +21 -0
- package/bundled-skills/idea-to-blueprint/SKILL.md +260 -0
- package/bundled-skills/idea-to-blueprint/assets/AGENTS.md.template +38 -0
- package/bundled-skills/idea-to-blueprint/assets/CLAUDE.md.template +38 -0
- package/bundled-skills/idea-to-blueprint/assets/DECISIONS.md.template +14 -0
- package/bundled-skills/idea-to-blueprint/assets/PROGRESS.md.template +47 -0
- package/bundled-skills/idea-to-blueprint/assets/session-prompt.md +23 -0
- package/bundled-skills/idea-to-blueprint/references/architecture-decisions.md +202 -0
- package/bundled-skills/idea-to-blueprint/references/blueprint-template.md +259 -0
- package/bundled-skills/idea-to-blueprint/references/code-quality-and-review.md +216 -0
- package/bundled-skills/idea-to-blueprint/references/design-minimal.md +96 -0
- package/bundled-skills/idea-to-blueprint/references/edge-case-catalog.md +239 -0
- package/bundled-skills/idea-to-blueprint/references/intake-questions.md +105 -0
- package/bundled-skills/idea-to-blueprint/references/research-protocol.md +196 -0
- package/bundled-skills/idea-to-blueprint/references/session-protocol.md +133 -0
- package/bundled-skills/idea-to-blueprint/references/stories-ac-tests.md +194 -0
- package/bundled-skills/idea-to-blueprint/references/ux-writing-guide.md +128 -0
- package/bundled-skills/idea-to-blueprint/scripts/lint_blueprint.py +460 -0
- package/bundled-skills/intern-program/SKILL.md +354 -0
- package/bundled-skills/internal-communication/SKILL.md +318 -0
- package/bundled-skills/inventory-stock-reconciliation/SKILL.md +470 -0
- package/bundled-skills/inventory-stock-reconciliation/references/best-practices.md +18 -0
- package/bundled-skills/inventory-stock-reconciliation/references/common-pitfalls.md +42 -0
- package/bundled-skills/inventory-stock-reconciliation/references/related-skills.md +13 -0
- package/bundled-skills/inventory-stock-reconciliation/references/relations.md +8 -0
- package/bundled-skills/inventory-stock-reconciliation/references/reusable-prompt.md +31 -0
- package/bundled-skills/inventory-stock-reconciliation/references/security-safety-notes.md +17 -0
- package/bundled-skills/inventory-stock-reconciliation/references/select-options.md +45 -0
- package/bundled-skills/invoices-billing/SKILL.md +385 -0
- package/bundled-skills/issue-grievance-tracker/SKILL.md +400 -0
- package/bundled-skills/json-schema-manual/SKILL.md +309 -0
- package/bundled-skills/json-schema-manual/references/best-practices.md +9 -0
- package/bundled-skills/json-schema-manual/references/common-pitfalls.md +25 -0
- package/bundled-skills/json-schema-manual/references/input-modules.md +203 -0
- package/bundled-skills/json-schema-manual/references/related-skills.md +8 -0
- package/bundled-skills/json-schema-manual/references/reusable-prompt.md +10 -0
- package/bundled-skills/json-schema-manual/references/security-safety-notes.md +13 -0
- package/bundled-skills/knowledge-base/SKILL.md +318 -0
- package/bundled-skills/kpi-tracker/SKILL.md +345 -0
- package/bundled-skills/learning-career-development/SKILL.md +349 -0
- package/bundled-skills/leave-management/SKILL.md +341 -0
- package/bundled-skills/legal-compliance-vault/SKILL.md +324 -0
- package/bundled-skills/linktree-link-hub/SKILL.md +453 -0
- package/bundled-skills/liuguang-banlan-ui/SKILL.md +22 -18
- package/bundled-skills/liuguang-banlan-ui/assets/starter/launcher.css +2 -2
- package/bundled-skills/liuguang-banlan-ui/assets/starter/obsidian/index.html +5 -4
- package/bundled-skills/liuguang-banlan-ui/assets/starter/obsidian/theme-config.js +3 -10
- package/bundled-skills/liuguang-banlan-ui/assets/starter/obsidian/theme.css +48 -62
- package/bundled-skills/liuguang-banlan-ui/assets/starter/opal/index.html +5 -4
- package/bundled-skills/liuguang-banlan-ui/assets/starter/opal/theme-config.js +27 -35
- package/bundled-skills/liuguang-banlan-ui/assets/starter/opal/theme.css +48 -62
- package/bundled-skills/liuguang-banlan-ui/assets/starter/shared/spectral-field.js +135 -148
- package/bundled-skills/liuguang-banlan-ui/references/style-contract.md +26 -7
- package/bundled-skills/liuguang-banlan-ui/references/verification.md +19 -7
- package/bundled-skills/liuguang-banlan-ui/scripts/measure_preview.py +78 -47
- package/bundled-skills/liuguang-banlan-ui/scripts/serve_preview.py +35 -0
- package/bundled-skills/liuguang-banlan-ui/scripts/validate_manifest.py +34 -3
- package/bundled-skills/liuguang-banlan-ui/tests/test_measure_preview.py +119 -0
- package/bundled-skills/liuguang-banlan-ui/tests/test_serve_preview.py +38 -0
- package/bundled-skills/liuguang-banlan-ui/tests/test_validate_manifest.py +73 -0
- package/bundled-skills/logo-image-design/SKILL.md +459 -0
- package/bundled-skills/loki-mode/examples/todo-app-generated/frontend/package-lock.json +12 -12
- package/bundled-skills/loki-mode/examples/todo-app-generated/frontend/package.json +1 -1
- package/bundled-skills/meeting-notes/SKILL.md +80 -0
- package/bundled-skills/mentorship-program/SKILL.md +332 -0
- package/bundled-skills/mirrord/SKILL.md +90 -0
- package/bundled-skills/monthly-closing-statements/SKILL.md +488 -0
- package/bundled-skills/monthly-closing-statements/references/related-skills.md +17 -0
- package/bundled-skills/monthly-closing-statements/references/reusable-prompt.md +8 -0
- package/bundled-skills/music-generation-studio/SKILL.md +259 -0
- package/bundled-skills/notification-reminder-hub/SKILL.md +324 -0
- package/bundled-skills/notion-manual-import/SKILL.md +376 -0
- package/bundled-skills/notion-manual-import/references/best-practices.md +10 -0
- package/bundled-skills/notion-manual-import/references/common-pitfalls.md +26 -0
- package/bundled-skills/notion-manual-import/references/input-modules.md +203 -0
- package/bundled-skills/notion-manual-import/references/related-skills.md +7 -0
- package/bundled-skills/notion-manual-import/references/reusable-prompt.md +8 -0
- package/bundled-skills/notion-manual-import/references/security-safety-notes.md +15 -0
- package/bundled-skills/observability-cloud-planning/SKILL.md +487 -0
- package/bundled-skills/observability-cloud-planning/references/common-pitfalls.md +39 -0
- package/bundled-skills/observability-cloud-planning/references/related-skills.md +20 -0
- package/bundled-skills/observability-cloud-planning/references/reusable-prompt.md +12 -0
- package/bundled-skills/observability-cloud-planning/references/security-safety-notes.md +30 -0
- package/bundled-skills/offboarding-exit/SKILL.md +343 -0
- package/bundled-skills/offer-appointment/SKILL.md +351 -0
- package/bundled-skills/okr-system/SKILL.md +355 -0
- package/bundled-skills/onboarding-playbook/SKILL.md +292 -0
- package/bundled-skills/organization-design/SKILL.md +324 -0
- package/bundled-skills/party-ledger-reconciliation/SKILL.md +411 -0
- package/bundled-skills/payment-accounting/SKILL.md +421 -0
- package/bundled-skills/payments-received/SKILL.md +315 -0
- package/bundled-skills/payroll-finance/SKILL.md +351 -0
- package/bundled-skills/people-directory/SKILL.md +459 -0
- package/bundled-skills/performance-management/SKILL.md +367 -0
- package/bundled-skills/petty-cash-management/SKILL.md +448 -0
- package/bundled-skills/policy-acknowledgement/SKILL.md +314 -0
- package/bundled-skills/policy-library/SKILL.md +327 -0
- package/bundled-skills/poster-design-studio/SKILL.md +259 -0
- package/bundled-skills/pre-boarding/SKILL.md +326 -0
- package/bundled-skills/presentation-deck/SKILL.md +491 -0
- package/bundled-skills/presentation-deck/references/related-skills.md +19 -0
- package/bundled-skills/presentation-deck/references/reusable-prompt.md +11 -0
- package/bundled-skills/probation-tracker/SKILL.md +347 -0
- package/bundled-skills/product-photo-studio/SKILL.md +259 -0
- package/bundled-skills/project-based-performance/SKILL.md +323 -0
- package/bundled-skills/projects-work-management/SKILL.md +368 -0
- package/bundled-skills/promotion-upgrade-requests/SKILL.md +377 -0
- package/bundled-skills/purchase-accounting/SKILL.md +414 -0
- package/bundled-skills/receipt-accounting/SKILL.md +424 -0
- package/bundled-skills/recognition-rewards/SKILL.md +324 -0
- package/bundled-skills/recruitment-pipeline/SKILL.md +399 -0
- package/bundled-skills/remote-work-tracker/SKILL.md +306 -0
- package/bundled-skills/repo-foundation/SKILL.md +166 -0
- package/bundled-skills/repo-foundation/references/LICENSE.md +21 -0
- package/bundled-skills/repo-foundation/references/bootstrap.md +63 -0
- package/bundled-skills/repo-foundation/references/companion.md +9 -0
- package/bundled-skills/repo-foundation/references/continuity.md +50 -0
- package/bundled-skills/repo-foundation/references/evolution.md +60 -0
- package/bundled-skills/repo-foundation/references/migration-examples.md +53 -0
- package/bundled-skills/repo-foundation/references/shared-contracts.md +48 -0
- package/bundled-skills/repo-foundation/references/verification.md +50 -0
- package/bundled-skills/repo-native-refactor/SKILL.md +225 -0
- package/bundled-skills/repo-native-refactor/references/LICENSE.md +21 -0
- package/bundled-skills/repo-native-refactor/references/deterministic-tooling.md +101 -0
- package/bundled-skills/repo-native-refactor/references/error-reliability.md +117 -0
- package/bundled-skills/repo-native-refactor/references/finding-taxonomy.md +181 -0
- package/bundled-skills/repo-native-refactor/references/refactor-examples.md +77 -0
- package/bundled-skills/repo-native-refactor/references/repository-prose.md +157 -0
- package/bundled-skills/repo-native-refactor/references/repository-rehabilitation.md +94 -0
- package/bundled-skills/repo-native-refactor/references/semantic-risk.md +187 -0
- package/bundled-skills/repo-native-refactor/references/shared-contracts.md +48 -0
- package/bundled-skills/repo-native-refactor/references/testing-integrity.md +103 -0
- package/bundled-skills/reports-analytics/SKILL.md +320 -0
- package/bundled-skills/salary-benchmarking/SKILL.md +318 -0
- package/bundled-skills/salary-wage-accounting/SKILL.md +412 -0
- package/bundled-skills/sales-accounting/SKILL.md +494 -0
- package/bundled-skills/sales-accounting/references/common-pitfalls.md +28 -0
- package/bundled-skills/sales-accounting/references/related-skills.md +13 -0
- package/bundled-skills/sales-accounting/references/reusable-prompt.md +8 -0
- package/bundled-skills/seo-directory-backlinks/SKILL.md +484 -0
- package/bundled-skills/seo-directory-backlinks/references/common-pitfalls.md +36 -0
- package/bundled-skills/seo-directory-backlinks/references/related-skills.md +15 -0
- package/bundled-skills/seo-directory-backlinks/references/reusable-prompt.md +11 -0
- package/bundled-skills/skill-gap-analysis/SKILL.md +338 -0
- package/bundled-skills/social-media-setup/SKILL.md +477 -0
- package/bundled-skills/social-media-setup/references/common-pitfalls.md +34 -0
- package/bundled-skills/social-media-setup/references/related-skills.md +19 -0
- package/bundled-skills/social-media-setup/references/reusable-prompt.md +11 -0
- package/bundled-skills/social-media-setup/references/security-safety-notes.md +27 -0
- package/bundled-skills/sop-company-wiki/SKILL.md +324 -0
- package/bundled-skills/source-document-filing/SKILL.md +368 -0
- package/bundled-skills/spreadsheet-manual-build/SKILL.md +493 -0
- package/bundled-skills/spreadsheet-manual-build/references/best-practices.md +9 -0
- package/bundled-skills/spreadsheet-manual-build/references/common-pitfalls.md +22 -0
- package/bundled-skills/spreadsheet-manual-build/references/related-skills.md +8 -0
- package/bundled-skills/spreadsheet-manual-build/references/reusable-prompt.md +9 -0
- package/bundled-skills/spreadsheet-manual-build/references/security-safety-notes.md +16 -0
- package/bundled-skills/stakeholder-investor-reports/SKILL.md +303 -0
- package/bundled-skills/suno-lyrics-to-song/SKILL.md +259 -0
- package/bundled-skills/talking-avatar-video/SKILL.md +260 -0
- package/bundled-skills/tax-register/SKILL.md +363 -0
- package/bundled-skills/tds-booking-payment/SKILL.md +405 -0
- package/bundled-skills/team-calendar/SKILL.md +312 -0
- package/bundled-skills/tech-writing-proofread/SKILL.md +78 -0
- package/bundled-skills/telegram/assets/boilerplate/nodejs/package-lock.json +3 -3
- package/bundled-skills/telegram/assets/boilerplate/nodejs/package.json +1 -0
- package/bundled-skills/template-library/SKILL.md +304 -0
- package/bundled-skills/time-tracking/SKILL.md +353 -0
- package/bundled-skills/typescript-expert/scripts/ts_diagnostic.py +40 -19
- package/bundled-skills/vendor-contractor-management/SKILL.md +327 -0
- package/bundled-skills/viral-video-teardown-remake/SKILL.md +260 -0
- package/bundled-skills/voice-cloning-studio/SKILL.md +260 -0
- package/bundled-skills/voiceover-narration-studio/SKILL.md +259 -0
- package/bundled-skills/whatsapp-cloud-api/assets/boilerplate/nodejs/package-lock.json +3 -3
- package/bundled-skills/whatsapp-cloud-api/assets/boilerplate/nodejs/package.json +1 -0
- package/bundled-skills/youtube-summarizer/SKILL.md +3 -3
- package/package.json +1 -1
- package/skills_index.json +254 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# Error and reliability boundaries
|
|
2
|
+
|
|
3
|
+
Error handling is about ownership, not visual cleanliness.
|
|
4
|
+
|
|
5
|
+
Before changing an error path establish:
|
|
6
|
+
|
|
7
|
+
1. where the failure originates;
|
|
8
|
+
2. which layer understands its meaning;
|
|
9
|
+
3. which layer can recover;
|
|
10
|
+
4. which layer should add context;
|
|
11
|
+
5. which layer should log;
|
|
12
|
+
6. which layer decides whether the operation continues.
|
|
13
|
+
|
|
14
|
+
## Swallowed errors
|
|
15
|
+
|
|
16
|
+
An empty or minimal catch is suspicious when it destroys meaningful failure information.
|
|
17
|
+
|
|
18
|
+
It may still be intentional for:
|
|
19
|
+
|
|
20
|
+
- best-effort telemetry;
|
|
21
|
+
- feature detection;
|
|
22
|
+
- cleanup;
|
|
23
|
+
- optional enrichment;
|
|
24
|
+
- compatibility probing.
|
|
25
|
+
|
|
26
|
+
Understand the owner before changing behavior.
|
|
27
|
+
|
|
28
|
+
Never blindly convert:
|
|
29
|
+
|
|
30
|
+
`catch {}`
|
|
31
|
+
|
|
32
|
+
into:
|
|
33
|
+
|
|
34
|
+
`log + throw`.
|
|
35
|
+
|
|
36
|
+
That changes observable semantics.
|
|
37
|
+
|
|
38
|
+
## Fallbacks
|
|
39
|
+
|
|
40
|
+
An empty array, empty string, null, cached value, or default object may represent:
|
|
41
|
+
|
|
42
|
+
- legitimate degradation;
|
|
43
|
+
- product behavior;
|
|
44
|
+
- backward compatibility;
|
|
45
|
+
- masking of infrastructure failure.
|
|
46
|
+
|
|
47
|
+
Determine which before removing it.
|
|
48
|
+
|
|
49
|
+
## Logging
|
|
50
|
+
|
|
51
|
+
Avoid duplicate logging across layers.
|
|
52
|
+
|
|
53
|
+
The layer that has sufficient context and ownership should normally log.
|
|
54
|
+
|
|
55
|
+
Lower-level code may enrich or propagate errors without logging when an outer boundary owns observability.
|
|
56
|
+
|
|
57
|
+
Do not remove logs solely because console output resembles debug residue; CLI or system output may be contractual.
|
|
58
|
+
|
|
59
|
+
Do not casually rewrite log templates, structured field names, event names, metric labels, or severity. Dashboards, alerts, parsers, support procedures, and tests may depend on them even when no static caller is visible.
|
|
60
|
+
|
|
61
|
+
## Error and output wording
|
|
62
|
+
|
|
63
|
+
Error messages, status text, stdout, and stderr are potentially observable behavior.
|
|
64
|
+
|
|
65
|
+
Before rewording, check:
|
|
66
|
+
|
|
67
|
+
- tests and snapshots;
|
|
68
|
+
- callers that parse or display the text;
|
|
69
|
+
- CLI and API compatibility expectations;
|
|
70
|
+
- monitoring, support, or localization workflows;
|
|
71
|
+
- whether the repository treats error codes or typed values as the stable contract instead.
|
|
72
|
+
|
|
73
|
+
Improve wording only when the task permits it and the compatibility surface is understood. Do not replace precise domain language with generic claims such as "operation failed gracefully" or "an unexpected issue occurred".
|
|
74
|
+
|
|
75
|
+
## Retry
|
|
76
|
+
|
|
77
|
+
Before modifying retry logic determine:
|
|
78
|
+
|
|
79
|
+
- which failures are retryable;
|
|
80
|
+
- retry owner;
|
|
81
|
+
- maximum attempts;
|
|
82
|
+
- backoff;
|
|
83
|
+
- jitter;
|
|
84
|
+
- timeout;
|
|
85
|
+
- idempotency;
|
|
86
|
+
- side effects.
|
|
87
|
+
|
|
88
|
+
Retries without idempotency analysis are high risk.
|
|
89
|
+
|
|
90
|
+
## Timeout and cancellation
|
|
91
|
+
|
|
92
|
+
Do not add or remove timeout/cancellation behavior without understanding:
|
|
93
|
+
|
|
94
|
+
- caller expectations;
|
|
95
|
+
- resource ownership;
|
|
96
|
+
- cleanup;
|
|
97
|
+
- nested timeout interactions.
|
|
98
|
+
|
|
99
|
+
## Transactions
|
|
100
|
+
|
|
101
|
+
Transaction scope is semantic.
|
|
102
|
+
|
|
103
|
+
Moving calls inside or outside a transaction can change consistency and locking behavior even when code looks simpler.
|
|
104
|
+
|
|
105
|
+
Treat transaction refactors as R3 or R4.
|
|
106
|
+
|
|
107
|
+
## Partial failure
|
|
108
|
+
|
|
109
|
+
Distributed or multi-step work may intentionally succeed partially.
|
|
110
|
+
|
|
111
|
+
Do not force all-or-nothing behavior unless the domain contract requires it.
|
|
112
|
+
|
|
113
|
+
## Reliability rule
|
|
114
|
+
|
|
115
|
+
A cleaner-looking error path is not automatically a more correct one.
|
|
116
|
+
|
|
117
|
+
Preserve operational semantics unless evidence justifies change.
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
# Finding taxonomy
|
|
2
|
+
|
|
3
|
+
A finding is evidence that deserves investigation. It is not automatically a defect.
|
|
4
|
+
|
|
5
|
+
Before mutating code, establish:
|
|
6
|
+
|
|
7
|
+
**Observed pattern, then actual consequence, then owning layer, then repository evidence, then appropriate correction.**
|
|
8
|
+
|
|
9
|
+
A scanner match, generic style preference, complexity number, or resemblance to common AI-generated code is insufficient by itself.
|
|
10
|
+
|
|
11
|
+
## 1. Repository conformity
|
|
12
|
+
|
|
13
|
+
Look for changes that introduce a second way to solve a problem the repository already solves coherently.
|
|
14
|
+
|
|
15
|
+
Examples include parallel:
|
|
16
|
+
|
|
17
|
+
- validation systems;
|
|
18
|
+
- error models;
|
|
19
|
+
- persistence access paths;
|
|
20
|
+
- logging conventions;
|
|
21
|
+
- configuration mechanisms;
|
|
22
|
+
- helper ecosystems;
|
|
23
|
+
- domain models.
|
|
24
|
+
|
|
25
|
+
Diagnosis requires comparing semantics and ownership, not just names.
|
|
26
|
+
|
|
27
|
+
A different implementation is acceptable when its domain, lifecycle, boundary, or invariants genuinely differ.
|
|
28
|
+
|
|
29
|
+
## 2. Domain semantic erosion
|
|
30
|
+
|
|
31
|
+
Look for lost or weakened domain meaning.
|
|
32
|
+
|
|
33
|
+
Signals include generic names at domain-significant scope, loosely typed business states, business rules hidden inside technical transformations, or domain concepts flattened into generic payloads.
|
|
34
|
+
|
|
35
|
+
Restore terminology only from repository or task evidence.
|
|
36
|
+
|
|
37
|
+
Do not invent more sophisticated-sounding vocabulary.
|
|
38
|
+
|
|
39
|
+
Short generic locals in tiny scopes are not automatically problematic.
|
|
40
|
+
|
|
41
|
+
## 3. Architectural fragmentation
|
|
42
|
+
|
|
43
|
+
Look for:
|
|
44
|
+
|
|
45
|
+
- responsibilities placed outside their natural owner;
|
|
46
|
+
- feature logic split across unnecessary technical layers;
|
|
47
|
+
- accidental service/factory/adapter chains;
|
|
48
|
+
- oversized orchestration functions;
|
|
49
|
+
- abstractions with no present policy or boundary value;
|
|
50
|
+
- local solutions that bypass established architecture.
|
|
51
|
+
|
|
52
|
+
Do not judge architecture from file count alone.
|
|
53
|
+
|
|
54
|
+
A thin abstraction may legitimately encode dependency direction, ownership, compatibility, policy, or test boundaries.
|
|
55
|
+
|
|
56
|
+
## 4. Reinvention and duplication
|
|
57
|
+
|
|
58
|
+
Distinguish:
|
|
59
|
+
|
|
60
|
+
**same syntax**
|
|
61
|
+
|
|
62
|
+
from
|
|
63
|
+
|
|
64
|
+
**same concept**.
|
|
65
|
+
|
|
66
|
+
Code should normally be consolidated only when implementations share:
|
|
67
|
+
|
|
68
|
+
- ownership;
|
|
69
|
+
- invariants;
|
|
70
|
+
- semantic purpose;
|
|
71
|
+
- expected reasons to change.
|
|
72
|
+
|
|
73
|
+
Two similar blocks in different domains may intentionally remain separate.
|
|
74
|
+
|
|
75
|
+
## 5. Error semantics
|
|
76
|
+
|
|
77
|
+
Look for:
|
|
78
|
+
|
|
79
|
+
- swallowed errors;
|
|
80
|
+
- fake success;
|
|
81
|
+
- universal empty fallbacks;
|
|
82
|
+
- lost context;
|
|
83
|
+
- logging at multiple ownership layers;
|
|
84
|
+
- retry at the wrong layer;
|
|
85
|
+
- infrastructure failure converted into misleading domain data.
|
|
86
|
+
|
|
87
|
+
Determine the error owner before changing propagation.
|
|
88
|
+
|
|
89
|
+
“Fail loudly” is not a universal rule.
|
|
90
|
+
|
|
91
|
+
## 6. Type and schema integrity
|
|
92
|
+
|
|
93
|
+
Investigate:
|
|
94
|
+
|
|
95
|
+
- unchecked external data;
|
|
96
|
+
- unsafe type suppression;
|
|
97
|
+
- unexplained assertions;
|
|
98
|
+
- loose object/dict structures crossing domain boundaries;
|
|
99
|
+
- mismatch between runtime validation and static types;
|
|
100
|
+
- duplicated incompatible schemas.
|
|
101
|
+
|
|
102
|
+
Escape hatches are findings, not automatic defects.
|
|
103
|
+
|
|
104
|
+
A local assertion at a known third-party boundary may be intentional.
|
|
105
|
+
|
|
106
|
+
## 7. Testing integrity
|
|
107
|
+
|
|
108
|
+
Look for:
|
|
109
|
+
|
|
110
|
+
- implementation logic copied into expected values;
|
|
111
|
+
- mocks that replace the behavior being tested;
|
|
112
|
+
- tests coupled to private implementation unnecessarily;
|
|
113
|
+
- assertions weakened to accommodate a change;
|
|
114
|
+
- regression cases removed;
|
|
115
|
+
- meaningless tests created for apparent coverage.
|
|
116
|
+
|
|
117
|
+
A passing test is useful evidence only to the extent that the test independently constrains behavior.
|
|
118
|
+
|
|
119
|
+
## 8. Security and reliability
|
|
120
|
+
|
|
121
|
+
Inspect relevant changes for:
|
|
122
|
+
|
|
123
|
+
- missing authorization;
|
|
124
|
+
- insecure defaults;
|
|
125
|
+
- lost validation;
|
|
126
|
+
- unbounded retry;
|
|
127
|
+
- missing timeout;
|
|
128
|
+
- incorrect cleanup;
|
|
129
|
+
- broken idempotency;
|
|
130
|
+
- partial-failure handling;
|
|
131
|
+
- unsafe concurrency;
|
|
132
|
+
- transaction leaks;
|
|
133
|
+
- secrets exposed to logs.
|
|
134
|
+
|
|
135
|
+
Treat these areas as high semantic risk.
|
|
136
|
+
|
|
137
|
+
## 9. Repository prose and communication integrity
|
|
138
|
+
|
|
139
|
+
Inspect comments, docstrings, test descriptions, errors, logs, command output, and user-facing strings according to their distinct roles.
|
|
140
|
+
|
|
141
|
+
Look for:
|
|
142
|
+
|
|
143
|
+
- narration that restates syntax or execution order;
|
|
144
|
+
- inflated or generic claims without a concrete invariant;
|
|
145
|
+
- documentation that repeats names and types but adds no contract;
|
|
146
|
+
- stale prose that contradicts behavior;
|
|
147
|
+
- domain language flattened into generic wording;
|
|
148
|
+
- valuable rationale buried inside lengthy explanation;
|
|
149
|
+
- observable strings reworded as if they were internal comments.
|
|
150
|
+
|
|
151
|
+
Prose that resembles common AI output is a finding, not proof that it is wrong. Resolve the repository's local prose conventions, then decide whether to delete, preserve, tighten, correct, or report it.
|
|
152
|
+
|
|
153
|
+
Do not use phrase blacklists, comment quotas, or AI-detector scores as mutation authority. Read [repository-native prose](repository-prose.md) when prose is material to the cleanup.
|
|
154
|
+
|
|
155
|
+
## 10. Operational quality
|
|
156
|
+
|
|
157
|
+
Look for:
|
|
158
|
+
|
|
159
|
+
- temporary debug output;
|
|
160
|
+
- incorrect log ownership;
|
|
161
|
+
- missing structured context;
|
|
162
|
+
- accidental config drift;
|
|
163
|
+
- speculative environment flags;
|
|
164
|
+
- divergent metrics/tracing conventions;
|
|
165
|
+
- output changes that consumers may observe.
|
|
166
|
+
|
|
167
|
+
Remember that output can be a contract.
|
|
168
|
+
|
|
169
|
+
## 11. Change discipline
|
|
170
|
+
|
|
171
|
+
Look for:
|
|
172
|
+
|
|
173
|
+
- unrelated cleanup;
|
|
174
|
+
- mass formatting;
|
|
175
|
+
- opportunistic renaming;
|
|
176
|
+
- dependency churn;
|
|
177
|
+
- broad modernization;
|
|
178
|
+
- multiple unrelated architectural changes in one diff;
|
|
179
|
+
- generated artifacts edited outside normal workflow.
|
|
180
|
+
|
|
181
|
+
A technically “better” change can still be a worse patch if it becomes harder to review, revert, or reason about.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Refactor Examples by Risk Band (R0–R4)
|
|
2
|
+
|
|
3
|
+
Read this when `SKILL.md` Workflow steps 3–4 flag a candidate finding. Each band shows a minimal good vs bad intervention. Do not mutate on style alone. Each good example cites a concrete consequence.
|
|
4
|
+
|
|
5
|
+
## R0 - Mechanical (formatter-provable)
|
|
6
|
+
|
|
7
|
+
Bad: hand-reformat churn across 40 files in a feature diff.
|
|
8
|
+
```diff
|
|
9
|
+
- x=1
|
|
10
|
+
+ x = 1 # + 200 unrelated lines
|
|
11
|
+
```
|
|
12
|
+
Good: run repo formatter only on touched lines, zero semantic diff. Consequence avoided: review noise.
|
|
13
|
+
|
|
14
|
+
## R1 - Low Structural (local residue)
|
|
15
|
+
|
|
16
|
+
Bad: leave `import os` unused + `print(debug)` in shipped diff.
|
|
17
|
+
```python
|
|
18
|
+
import os # unused
|
|
19
|
+
print("here", x)
|
|
20
|
+
```
|
|
21
|
+
Good:
|
|
22
|
+
```diff
|
|
23
|
+
-import os
|
|
24
|
+
-print("here", x)
|
|
25
|
+
```
|
|
26
|
+
Verify: affected unit test still passes. Consequence: dead weight + log leak.
|
|
27
|
+
|
|
28
|
+
## R2 - Contextual Structural (predicate extraction)
|
|
29
|
+
|
|
30
|
+
Bad: two callers implement divergent checks for the same owned validation policy:
|
|
31
|
+
```python
|
|
32
|
+
if not tenant or not tenant.strip(): raise ValueError
|
|
33
|
+
# ... 30 lines later in another module ...
|
|
34
|
+
if tenant is None or tenant == "": raise ValueError
|
|
35
|
+
```
|
|
36
|
+
Good: single affirmative predicate, same ownership/invariants:
|
|
37
|
+
```python
|
|
38
|
+
def _is_valid_tenant(v) -> bool:
|
|
39
|
+
return isinstance(v, str) and bool(v.strip())
|
|
40
|
+
```
|
|
41
|
+
Consolidate only when shared ownership + same reason to change. Keep small local duplication if abstraction adds coupling. Consequence: divergent policy.
|
|
42
|
+
|
|
43
|
+
## R3 - Semantic (retry / serialization / transactions)
|
|
44
|
+
|
|
45
|
+
Bad: blanket retry hiding infra failure:
|
|
46
|
+
```python
|
|
47
|
+
for _ in range(5):
|
|
48
|
+
try: return publish(ev)
|
|
49
|
+
except Exception: continue
|
|
50
|
+
```
|
|
51
|
+
Good: idempotency-aware, bounded, owner-logged:
|
|
52
|
+
```python
|
|
53
|
+
for attempt in range(3):
|
|
54
|
+
try:
|
|
55
|
+
return publish(ev, idempotency_key=ev.id)
|
|
56
|
+
except TransientError:
|
|
57
|
+
if attempt == 2:
|
|
58
|
+
raise
|
|
59
|
+
log.warning(
|
|
60
|
+
"publish retry",
|
|
61
|
+
extra={"attempt": attempt + 1},
|
|
62
|
+
)
|
|
63
|
+
```
|
|
64
|
+
Retry only transient failures; propagate the final failure after exhaustion and
|
|
65
|
+
non-transient errors immediately. Follow the repository's existing backoff and timeout
|
|
66
|
+
policy. Verify eventual success, exhausted retries, and a non-retryable failure.
|
|
67
|
+
Never mass-rewrite R3 without explicit instruction + verified tests.
|
|
68
|
+
|
|
69
|
+
## R4 - Critical Boundary (auth / migration / durability)
|
|
70
|
+
|
|
71
|
+
Bad: mutate contract in place without preserving last-valid state.
|
|
72
|
+
Good: preserve + report, do not guess:
|
|
73
|
+
```python
|
|
74
|
+
# preserve LEDGER_FILE: str contract, stage replacement, fsync, atomic rename
|
|
75
|
+
# if intent/ownership/migration semantics unclear, stop and report
|
|
76
|
+
```
|
|
77
|
+
Maximum conservatism. Missing evidence means preserve plus a completion report `Needs review`.
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# Repository-native prose
|
|
2
|
+
|
|
3
|
+
Source prose should carry information that code cannot express clearly and should sound normal for its repository. The objective is not to imitate a person or evade detection. It is to remove narration, inflation, and generic language while preserving contracts and rationale.
|
|
4
|
+
|
|
5
|
+
## Resolve the local prose baseline
|
|
6
|
+
|
|
7
|
+
Before changing prose, sample healthy code near the same owner, domain, and runtime boundary. Infer only what the sample supports:
|
|
8
|
+
|
|
9
|
+
- which constructs are documented;
|
|
10
|
+
- comment density and placement;
|
|
11
|
+
- fragments versus complete sentences;
|
|
12
|
+
- capitalization and punctuation;
|
|
13
|
+
- docstring or API-documentation format;
|
|
14
|
+
- domain terminology and abbreviations;
|
|
15
|
+
- accepted tags such as `TODO`, `FIXME`, or issue references;
|
|
16
|
+
- whether test names, logs, and errors follow stable templates.
|
|
17
|
+
|
|
18
|
+
Prefer explicit repository configuration and documentation over inference. Do not treat newly introduced code, generated output, or a visibly inconsistent file as authoritative precedent.
|
|
19
|
+
|
|
20
|
+
Classify the baseline as `observed`, `likely`, `conflicting`, or `unknown`. If conventions conflict, prefer the pattern closest in ownership and domain. If evidence remains weak, use the conservative fallback below rather than inventing a house style.
|
|
21
|
+
|
|
22
|
+
## Distinguish prose surfaces
|
|
23
|
+
|
|
24
|
+
Do not apply one cleanup policy to every string.
|
|
25
|
+
|
|
26
|
+
### Internal comments
|
|
27
|
+
|
|
28
|
+
Internal comments may be removed when they merely repeat code. They are valuable when they explain a non-obvious constraint, invariant, tradeoff, external-system behavior, or reason an apparently simpler implementation is unsafe.
|
|
29
|
+
|
|
30
|
+
### Public documentation
|
|
31
|
+
|
|
32
|
+
Docstrings, API comments, annotations, and generated-documentation sources may be contracts or required by repository tooling. Preserve required structure and describe observable behavior accurately. Do not remove documentation merely because names and types look self-explanatory.
|
|
33
|
+
|
|
34
|
+
### Tests
|
|
35
|
+
|
|
36
|
+
Test descriptions and assertion messages should express behavior in the repository's established vocabulary. Avoid tutorial-like narratives and verbose restatements of the fixture. Treat expected messages and snapshots as behavioral evidence, not casual prose.
|
|
37
|
+
|
|
38
|
+
### Errors, logs, and command output
|
|
39
|
+
|
|
40
|
+
Error text, log templates, structured field names, metrics, events, stdout, and stderr may be consumed by tests, dashboards, alerts, scripts, or external systems. Treat them as observable behavior until callers and repository evidence establish otherwise.
|
|
41
|
+
|
|
42
|
+
### User-facing copy
|
|
43
|
+
|
|
44
|
+
Do not rewrite product text as code cleanup. Change it only when the task authorizes copy changes or the current wording is an established defect within scope.
|
|
45
|
+
|
|
46
|
+
## Decide: delete, preserve, tighten, correct, or report
|
|
47
|
+
|
|
48
|
+
### Delete
|
|
49
|
+
|
|
50
|
+
Delete prose that contributes no information beyond the code, including confirmed examples of:
|
|
51
|
+
|
|
52
|
+
- execution narration such as "first", "next", or "finally";
|
|
53
|
+
- comments that restate an assignment, branch, loop, guard, or function call;
|
|
54
|
+
- headings that divide a short function into obvious stages;
|
|
55
|
+
- implementation diary entries;
|
|
56
|
+
- comments added only to label ordinary getters, setters, constructors, or data movement;
|
|
57
|
+
- docstrings that repeat the symbol name and type information without adding a contract;
|
|
58
|
+
- claims that code is clean, simple, robust, elegant, or maintainable.
|
|
59
|
+
|
|
60
|
+
Prefer deletion over replacing a redundant long comment with a redundant short one.
|
|
61
|
+
|
|
62
|
+
### Preserve
|
|
63
|
+
|
|
64
|
+
Preserve still-relevant information about:
|
|
65
|
+
|
|
66
|
+
- compatibility behavior;
|
|
67
|
+
- external protocol irregularities;
|
|
68
|
+
- security boundaries;
|
|
69
|
+
- concurrency, ordering, transaction, or lifecycle constraints;
|
|
70
|
+
- counterintuitive domain rules;
|
|
71
|
+
- intentional degradation or best-effort behavior;
|
|
72
|
+
- performance tradeoffs that are not apparent locally;
|
|
73
|
+
- rationale supported by repository history or documentation.
|
|
74
|
+
|
|
75
|
+
Awkward wording alone is not enough to delete important knowledge.
|
|
76
|
+
|
|
77
|
+
### Tighten
|
|
78
|
+
|
|
79
|
+
Tighten prose when it contains necessary information but is inflated, generic, or poorly aligned with local terminology. Keep the concrete constraint and remove ceremony.
|
|
80
|
+
|
|
81
|
+
For example, replace:
|
|
82
|
+
|
|
83
|
+
```text
|
|
84
|
+
Gracefully handle the legacy response to ensure that the operation remains robust.
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
with a repository-appropriate form of:
|
|
88
|
+
|
|
89
|
+
```text
|
|
90
|
+
The v1 endpoint returns 200 with an empty body when the record is missing.
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Do not add certainty that the evidence does not support.
|
|
94
|
+
|
|
95
|
+
### Correct
|
|
96
|
+
|
|
97
|
+
Correct stale or misleading prose only when behavior and intent are established. Update the smallest relevant surface. If correcting the prose exposes an actual behavioral defect, classify that code change separately.
|
|
98
|
+
|
|
99
|
+
### Report
|
|
100
|
+
|
|
101
|
+
Report rather than rewrite when a comment may encode history, a string may be consumed, or the intended contract is unclear. Uncertainty is not permission to normalize.
|
|
102
|
+
|
|
103
|
+
## Comment necessity test
|
|
104
|
+
|
|
105
|
+
Before retaining or adding a comment, ask:
|
|
106
|
+
|
|
107
|
+
> If this prose disappeared, would a maintainer lose an important fact that the code, type system, tests, or nearby contract does not express clearly?
|
|
108
|
+
|
|
109
|
+
If not, omit the comment. If yes, state the missing fact directly and at the narrowest useful location.
|
|
110
|
+
|
|
111
|
+
## Candidate signals, not deletion rules
|
|
112
|
+
|
|
113
|
+
The following patterns often deserve inspection:
|
|
114
|
+
|
|
115
|
+
- "We need to", "This function", or "The following code";
|
|
116
|
+
- "First", "Next", "Finally", or numbered step comments;
|
|
117
|
+
- "Handle gracefully", "ensure correctness", or "properly validate" without a named invariant;
|
|
118
|
+
- "robust", "seamless", "comprehensive", "elegant", or similar ungrounded claims;
|
|
119
|
+
- banners and separators that create visual ceremony without structural meaning;
|
|
120
|
+
- a comment before nearly every small block;
|
|
121
|
+
- repeated `@param` or return prose that adds nothing beyond types;
|
|
122
|
+
- comments explaining that code exists "for clarity" or "for maintainability";
|
|
123
|
+
- comments that describe the implementation process rather than lasting system behavior.
|
|
124
|
+
|
|
125
|
+
These are discovery hints only. Phrase matching, comment-count targets, and AI detectors cannot determine whether prose is correct or necessary.
|
|
126
|
+
|
|
127
|
+
## Conservative fallback
|
|
128
|
+
|
|
129
|
+
When the repository provides little reliable prose evidence:
|
|
130
|
+
|
|
131
|
+
- prefer no comment when code is already clear;
|
|
132
|
+
- explain why, a constraint, or external behavior rather than narrating what;
|
|
133
|
+
- use concrete domain nouns and active phrasing;
|
|
134
|
+
- keep one idea per comment;
|
|
135
|
+
- place the explanation next to the boundary it qualifies;
|
|
136
|
+
- avoid tutorial voice, self-dialogue, marketing language, and performative assurances;
|
|
137
|
+
- do not add comments merely to signal craftsmanship;
|
|
138
|
+
- do not invent tickets, incidents, owners, dates, or production history.
|
|
139
|
+
- Never invent ticket, PR, or incident references. An inaccessible or unverified reference is not evidence of fabrication. Preserve existing references unless repository evidence establishes that they are incorrect or obsolete; report material uncertainty instead of deleting them.
|
|
140
|
+
|
|
141
|
+
This fallback is deliberately modest. It must not become a universal style imposed over repository evidence.
|
|
142
|
+
|
|
143
|
+
## Final prose review
|
|
144
|
+
|
|
145
|
+
Inspect the final diff and ask:
|
|
146
|
+
|
|
147
|
+
- Did any deleted comment contain a constraint not preserved elsewhere?
|
|
148
|
+
- Did a rewrite become less precise while becoming shorter?
|
|
149
|
+
- Did redundant prose survive only in paraphrased form?
|
|
150
|
+
- Did comment density move toward relevant healthy code rather than an arbitrary target?
|
|
151
|
+
- Did terminology match the owning domain?
|
|
152
|
+
- Did any error, log, event, test expectation, or command output change without contract analysis?
|
|
153
|
+
- Did the refactor fabricate rationale or history?
|
|
154
|
+
- Is each added ticket, PR, or incident reference supported by a source?
|
|
155
|
+
- Was any existing reference deleted merely because it could not be verified?
|
|
156
|
+
|
|
157
|
+
Remove prose edits that cannot be justified by semantics or repository evidence.
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# Repository Rehabilitation
|
|
2
|
+
|
|
3
|
+
Use this mode only when the authorized scope is codebase-wide or spans multiple coherent domains. Its purpose is consistent rehabilitation, not a single sweeping rewrite.
|
|
4
|
+
|
|
5
|
+
## Survey before mutation
|
|
6
|
+
|
|
7
|
+
Map the repository at the level needed to choose safe batches:
|
|
8
|
+
|
|
9
|
+
- instruction and ownership boundaries;
|
|
10
|
+
- applications, packages, modules, or domains;
|
|
11
|
+
- public, persistence, network, security, and operational boundaries;
|
|
12
|
+
- generated, vendored, migrated, snapshot, and golden artifacts;
|
|
13
|
+
- build, type, lint, test, generation, and validation workflows;
|
|
14
|
+
- areas with active user changes;
|
|
15
|
+
- duplicated systems for errors, validation, configuration, persistence, or observability;
|
|
16
|
+
- areas where repository conventions conflict.
|
|
17
|
+
|
|
18
|
+
Do not review every file at equal depth. Begin with architecture signals, representative healthy paths, changed or high-churn areas when known, and boundaries that determine behavior.
|
|
19
|
+
|
|
20
|
+
## Build a concise repository profile
|
|
21
|
+
|
|
22
|
+
Record only decisions that will guide multiple batches:
|
|
23
|
+
|
|
24
|
+
- ownership and dependency direction;
|
|
25
|
+
- domain vocabulary;
|
|
26
|
+
- type, schema, and validation boundaries;
|
|
27
|
+
- error and result model;
|
|
28
|
+
- persistence and transaction conventions;
|
|
29
|
+
- async, retry, timeout, and cancellation ownership;
|
|
30
|
+
- logging and observability conventions;
|
|
31
|
+
- test strategy and trustworthy verification commands;
|
|
32
|
+
- comment and documentation conventions;
|
|
33
|
+
- dependency policy;
|
|
34
|
+
- sensitive or excluded artifacts;
|
|
35
|
+
- observed conflicts and unresolved uncertainty.
|
|
36
|
+
|
|
37
|
+
Mark each convention `observed`, `likely`, `conflicting`, or `unknown`. Cite the repository evidence used to infer it. Keep the profile compact and task-local unless the user asks to add documentation to the repository.
|
|
38
|
+
|
|
39
|
+
Do not infer standards from generated code, obvious outliers, or the code currently suspected of being low quality.
|
|
40
|
+
|
|
41
|
+
## Choose calibration work
|
|
42
|
+
|
|
43
|
+
Start with a representative, low-to-moderate-risk batch that has meaningful verification. Use it to test whether the repository profile produces a native result before applying it broadly.
|
|
44
|
+
|
|
45
|
+
Avoid beginning with authentication, payments, migrations, destructive persistence, or concurrency-critical code unless those areas are the explicit task and have adequate evidence.
|
|
46
|
+
|
|
47
|
+
## Batch by ownership
|
|
48
|
+
|
|
49
|
+
A batch should normally share a domain, owner, runtime boundary, and verification path. It should be small enough that a maintainer can understand its purpose and inspect every changed line.
|
|
50
|
+
|
|
51
|
+
For each batch:
|
|
52
|
+
|
|
53
|
+
1. confirm scope and preservation contracts;
|
|
54
|
+
2. refine only the relevant part of the repository profile;
|
|
55
|
+
3. inventory and classify findings;
|
|
56
|
+
4. apply the smallest justified corrections;
|
|
57
|
+
5. run focused verification;
|
|
58
|
+
6. inspect the diff and remove unjustified changes;
|
|
59
|
+
7. record residual uncertainty before continuing.
|
|
60
|
+
|
|
61
|
+
Do not mix unrelated naming, dependency, architecture, and formatting campaigns in one batch.
|
|
62
|
+
|
|
63
|
+
## Update the profile carefully
|
|
64
|
+
|
|
65
|
+
New evidence may refine the profile. It should not silently reverse decisions already used elsewhere.
|
|
66
|
+
|
|
67
|
+
When a later domain follows a different valid convention, scope the convention to that domain instead of forcing global uniformity. When patterns genuinely conflict, preserve both until ownership or migration intent establishes a preferred direction.
|
|
68
|
+
|
|
69
|
+
## Cross-batch review
|
|
70
|
+
|
|
71
|
+
After the bounded passes, inspect the combined result for:
|
|
72
|
+
|
|
73
|
+
- duplicated concepts left under different names;
|
|
74
|
+
- accidental cross-domain coupling;
|
|
75
|
+
- inconsistent error, validation, or schema boundaries;
|
|
76
|
+
- prose or terminology that diverges between equivalent owners;
|
|
77
|
+
- dependencies introduced only to support cleanup;
|
|
78
|
+
- broad formatting noise;
|
|
79
|
+
- verification gaps that compound across batches.
|
|
80
|
+
|
|
81
|
+
Run repository-level validation only after focused checks are stable. A clean full-suite result does not excuse an incoherent or unreviewable combined diff.
|
|
82
|
+
|
|
83
|
+
## Stop conditions
|
|
84
|
+
|
|
85
|
+
Pause expansion into a region when:
|
|
86
|
+
|
|
87
|
+
- its owner or intended behavior cannot be established;
|
|
88
|
+
- its convention conflicts materially with the current profile;
|
|
89
|
+
- meaningful verification is unavailable for high-risk behavior;
|
|
90
|
+
- it contains unrelated active changes;
|
|
91
|
+
- generated or historical workflow is unclear;
|
|
92
|
+
- cleanup would require redesign beyond the authorized scope.
|
|
93
|
+
|
|
94
|
+
Continue elsewhere when safe. Repository-wide authorization broadens coverage, not semantic permission.
|