88 lines
4.6 KiB
Markdown
88 lines
4.6 KiB
Markdown
# Unattended Business Acceptance
|
|
|
|
2026-09-16 renewed authorization: continuous development is now managed through
|
|
`freecad-web-acceptance.service`; see `CONTINUOUS_ACCEPTANCE.md`. Its first
|
|
priority is the separate IFC semantic-export contract. The original 1507
|
|
requirements remain, and this explicit addition makes 1508 in total. The
|
|
one-shot runner below is retained for focused execution, not background authoring.
|
|
|
|
User authorization: 2026-09-16. Automatically reconcile the 1507 business
|
|
requirements with current executable cases and the 21-item manual. Repairs,
|
|
focused tests and evidence updates are authorized. Keep the full denominator.
|
|
|
|
Latest implementation: [BIM IFC and relationship repair](BIM-IFC-BUSINESS-20260916.md).
|
|
The two native IFC format contracts now pass; `BIM_Ungroup` and `BIM_Unclone`
|
|
also have passing native/facade, transaction and persistence cases. Reuse these
|
|
implementations and local dependencies when continuing remaining commands.
|
|
The existing PartDesign Hole and Points import/export cases are now registered
|
|
and executed as well. The previous 165/1507 result is historical; current source
|
|
changes invalidate affected proof. Read the generated reconciliation for current
|
|
counts across 1508 requirements. There are still 1342 requirements without
|
|
executable coverage. See `ACCEPTANCE_EFFICIENCY_PROGRESS.md` for the latest
|
|
verified IFC behavior and reductions in repeated validation work.
|
|
|
|
## Sources Of Truth
|
|
|
|
- `business-acceptance-reconciliation.json`: every requirement, status, reason,
|
|
executable-case availability, retained evidence and manual references.
|
|
- `business-acceptance.json`: fingerprinted execution ledger.
|
|
- `web-business-completion-audit.json`: implementation and acceptance are
|
|
separate, with actual per-module accepted/total/pending counts.
|
|
- `unattended-business-acceptance.json`: latest execution checkpoint.
|
|
- `business-acceptance-runs/`: immutable previous sweeps and current run journal.
|
|
|
|
`reconciliationComplete` means every requirement and manual item is accounted
|
|
for. It never implies `businessAcceptanceComplete`. Missing cases and retained
|
|
historical failures remain outstanding business work. BIM native IFC format
|
|
support is now tested; complete semantic authoring is a separate boundary.
|
|
|
|
## Resume
|
|
|
|
```sh
|
|
python3 tools/run_unattended_business_acceptance.py
|
|
```
|
|
|
|
The runner uses the existing module contracts, executes up to 32 cases sharing
|
|
a build owner per batch sequentially, reuses unchanged passing proof, retains
|
|
failures and continues independent modules. Unchanged failed requirements are
|
|
preserved even when batches change; changed source, cases or runner inputs
|
|
make them eligible again. Evidence files are shared within each invocation.
|
|
`--retry-failed` is an explicit diagnostic override, not a completion shortcut.
|
|
Use `--modules Part Web` for a focused sweep. Missing contracts are reported;
|
|
the runner cannot invent business assertions or certify uncovered commands.
|
|
|
|
Refresh reporting without executing business cases:
|
|
|
|
```sh
|
|
python3 tools/generate_web_business_completion_audit.py
|
|
python3 tools/prepare_business_acceptance_batch.py --report-only
|
|
```
|
|
|
|
The old implementation-only watchdog was stopped to avoid competing ledger
|
|
writes and its repeated restart loop. The renewed user authorization enables
|
|
one serial development scheduler under the user service. The one-shot case
|
|
runner itself does not author cases or publish changes.
|
|
|
|
## Evidence Rules
|
|
|
|
The 21 manual items have explicit supporting references in
|
|
`tools/manual-business-mapping.json`. Ten desktop commands additionally have
|
|
executable mappings through `tools/web-acceptance-cases.mjs`; the existing
|
|
manual browser runner supplies actual assertions, screenshots and state.
|
|
Entry checks never certify every command in a workbench.
|
|
|
|
The acceptance audit checks source/artifact fingerprints, case dependencies,
|
|
the evidence document hash, successful input/result assertions and attached
|
|
manual evidence hashes. Changed dependencies invalidate proof even when the
|
|
runtime manifest is unchanged. Historical evidence is retained.
|
|
|
|
Business completion requires current passing evidence for every requirement.
|
|
For uncovered items, add cases to the owning module's contract and implement
|
|
any failing behavior in the existing native/React route. Do not replace
|
|
business assertions with route existence, source inspection or constant pass.
|
|
|
|
BIM's `bim.formatWorkflow` now uses the real `IfcOpenShellNative` document
|
|
binding and upstream IFC4 BRep serializer. Its passing format cases do not
|
|
certify the complete upstream Python API or all semantic BIM authoring/export
|
|
operations. Those remain separate work. Keep the original failing evidence.
|