TenantAtlas/.specify/README.md
ahmido 15b21c3080
Some checks failed
Main Confidence / confidence (push) Failing after 44s
spec: finalize enforcement review guardrails workflow (#250)
## Summary
- add the full Spec 201 artifact set for enforcement and review guardrails
- update the SpecKit workflow surfaces to carry UI/surface guardrail classification, handling modes, proof depth, and close-out targeting
- align the operator UX standards reference and agent context with the new guardrail workflow

## Validation
- completed cross-artifact consistency analysis for spec, plan, tasks, research, data model, contracts, and quickstart
- recorded the low-impact workflow path at `00:48` and the representative guarded review at `02:34`
- no Pest or runtime test suite was run because this is a docs/workflow-only feature
- integrated browser smoke on the tenant dashboard could not complete because tenant-scoped unauthenticated navigation currently redirects to `/admin/t/login`, which returns `404 Not Found`

## Filament Notes
- Livewire v4.0+ compliance is unchanged
- provider registration remains in `bootstrap/providers.php`
- no globally searchable resources were added or modified
- no destructive runtime actions were introduced or changed
- no asset strategy changes were made; existing `filament:assets` deployment behavior remains unchanged

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #250
2026-04-18 22:46:06 +00:00

4.1 KiB

.specify/ (Tooling)

This folder contains SpecKit tooling (templates, scripts, constitution, etc.).

Important

  • Do not create new feature specs in .specify/spec.md, .specify/plan.md, .specify/tasks.md.
  • Active feature specs live under specs/<NNN>-<slug>/:
    • spec.md
    • plan.md
    • tasks.md
    • checklists/requirements.md
  • Runtime-changing or test-affecting work MUST carry actual test-purpose classification (Unit, Feature, Heavy-Governance, Browser), affected lanes, fixture/default cost risks, heavy-family changes, escalation decisions, and minimal validation commands through the active spec.md, plan.md, and tasks.md.
  • Review-oriented checklists MUST surface nativity, shared-family boundaries, state-layer ownership, exception spread, proof depth, and close-out targeting before merge.
  • .specify/ is the operational workflow. docs/ui/operator-ux-surface-standards.md remains a rule/reference document, not a second checklist or review process.

Author Entry Point

Use the active feature's spec.md, plan.md, and tasks.md in that order.

  1. Fill the spec's UI / Surface Guardrail Impact section once. If there is no operator-facing surface change, write a concise N/A and do not invent extra prose downstream.
  2. Turn that classification into plan-level handling modes, repository-signal treatment, required proof depth, and the named active feature PR close-out entry.
  3. Carry the same terms into tasks so implementation, review, definition-of-done, exception documentation, and smoke coverage all point at the same guardrail decision.

Review Entry Point

Use the active feature's spec.md, plan.md, and tasks.md together with the generated checklist based on .specify/templates/checklist-template.md.

  1. Confirm the spec names the guardrail impact once: native/custom classification, shared-family relevance, state-layer ownership, exception need, and any low-impact N/A path.
  2. Confirm the plan turns that into handling modes, repository-signal treatment, required test or smoke depth, and the named active feature PR close-out entry.
  3. Apply the checklist and end with both one review outcome class (blocker, strong-warning, documentation-required-exception, or acceptable-special-case) and one workflow outcome (keep, split, document-in-feature, follow-up-spec, or reject-or-split).
  4. If a guarded surface or exception remains in scope, ensure the active feature PR close-out entry records the final note rather than leaving the decision in scattered review comments.

Low-Impact Rule

  • Docs-only or template-only work may answer N/A or none.
  • Do not force fake surface, lane, or exception prose when no operator-facing change or runtime impact exists.
  • Use the low-impact path to stay fast, not to hide a real guarded surface change.

Escalation Rule

  • Use blocker when fake-native drift, hidden host drift, unresolved state ownership, or missing exception boundaries remain.
  • Use strong-warning when the change can proceed only after the active workflow records the guardrail risk explicitly.
  • Use documentation-required-exception when default rules are intentionally relaxed and the bounded exception record is the remaining requirement.
  • Use acceptable-special-case only when the change already fits the declared guardrail contract.
  • Use document-in-feature for contained cost or drift that belongs in the active feature.
  • Use follow-up-spec only for recurring pain or structural lane or family changes.
  • Use reject-or-split when hidden test cost or wrong-lane scope is still unresolved.

Close-Out Rule

  • The named close-out target for guarded work is the active feature PR close-out entry Guardrail / Exception / Smoke Coverage.
  • That entry records the low-impact or representative scenario used, the outcome class, handling mode, workflow outcome, required tests or manual smoke, any exception boundary, duplicate-prompt notes, and any deferred automation.
  • If the change is genuinely low-impact, record a concise N/A note rather than fabricating guardrail spread.

The files .specify/spec.md, .specify/plan.md, .specify/tasks.md may exist as legacy references only.