neqsim-surf-report-drawings · v1.0.0 · 2026-10-25 · sha256 e0415a717b8acba3
neqsim-surf-report-drawings v1.0.0A
Immutable. This exact content never changes and is served at /api/v1/blob/e0415a717b8acba3.
--- name: neqsim-surf-report-drawings version: "1.0.0" description: "SURF drawing set, datasheets, registers and 20-chapter report contract: 15 deterministic A3 sheets (field plan, network schematic, functional process sheets, route profiles, riser, template/PLEM, jumper, umbilical, thermal cross-sections, installation, results, comparison, quantities), canonical dataset tokens, fail-closed validation and visual inspection. USE WHEN: SURF drawings or the SURF design report are requested, reviewed or extended." last_verified: "2026-10-25" requires: python_packages: [python-docx, matplotlib, pymupdf, pyyaml] --- # SURF drawings and report Library: `devtools/surf_draw.py` (plan map, symbols, tables), `surf_sheets_a.py` / `surf_sheets_b.py` (sheets), `surf_diagrams.py` (package), `surf_report.py` (DOCX), `surf_validate.py` (gates), `surf_dataset.py` (canonical dataset and token resolver). It reuses the shared `fa_draw.Sheet`/`Axes`, `psr_diagrams.kit` and `psr_report.ReportBuilder`; do not fork or edit those generic generators. ## Sheets (A3 landscape, title block, SVG + PNG + vector PDF) DWG-01 field plan (overall + detail), 02 network schematic, 03/04 functional process sheets with operating overlay and omitted systems, 05/06 route profiles (elevation, p, T, hydrate, erosion on one chainage), 07 riser configuration (**CONCEPT SCHEMATIC - GEOMETRY NOT ANALYZED**), 08 template/manifold/PLEM/PLET, 09 jumper details, 10 umbilical architecture + conceptual section, 11 thermal cross-sections (to scale, U on the bore area), 12 installation sequence, 13 design results, 14 concept comparison, 15 quantities/interfaces/drawing register. Rules: every number is bound to the dataset or a registered input; every sheet states scale or NOT TO SCALE; checker/approver stay `not assigned`; schematic envelopes are never vendor GAs; absent geometry is labelled synthetic or schematic, never invented (no surveyed accuracy, clearances, ROV access, bends, tolerances). ## Visual gate (mandatory) Render and look at **every** PNG at intended size: clipped text, overlaps, illegible labels, crossing lines, wrong arrows, blank views, misleading geometry. Automated QA (`layout_spec.json`: bounds, overlaps, minimum text 2.2 mm) is necessary, not sufficient. Fix the sheet code or the input and re-render; never hide a finding. ## Report (DOCX + PDF where Word is available) 20 chapters (executive summary ... appendices) with a coverage table, discipline/requirement matrix, numbered captions, lists of figures and tables, landscape drawing appendix. Tokens: `[[ds:path|fmt|unit=..]]` and `[[fact:key]]`. Unresolved tokens, unit mismatches and invalid-value markers fail validation. Every conclusion states its evidence and its remaining dependency; discuss each principal figure and table; justify non-applicable disciplines instead of padding. ## Validation gates (`validation_report.md`) Inputs, convergence and fallback, hand checks, mesh sensitivity, cooldown RK4, dimensions, reconciliation of register/design basis/cost, feasibility-before-cost, structural status, standards (no conformity claim), drawing layout/assets/title block/files, document tokens/sections/captions/dataset hash/PDF. FAIL -> `NOT_READY`; open evidence -> `SCREENING`; the label `REVIEWED` is never assigned by software. ## Pitfalls - Plan panels with an extreme aspect ratio need a strip plus a detail panel at a stated scale. - Keep labels at least 2.2 mm high; shorten with `surf_draw.fit` instead of shrinking below the minimum. - The Word PDF export needs Word; without it the report is DOCX only and the check warns (use `--no-word`). - Keep the words "NaN" and "None" out of validation-table wording; the document check scans the text for them.