drawing-quantity-extract · git:20260920.ef0a19e · 2026-09-20 · sha256 75b274f36efbf5f9
drawing-quantity-extract git:20260920.ef0a19eA
Immutable. This exact content is served forever at /api/v1/blob/75b274f36efbf5f9.
--- name: drawing-quantity-extract description: "Extract countable FF&E or luminaire instances from supplied drawings with position-level evidence. Use for plan quantities or symbol counts; not area takeoffs, product specs or cross-source reconciliation." allowed-tools: - Read - Write - Bash - Glob - Grep --- # /as:drawing-quantity-extract — Count drawing instances Before acting, read the [host contract](../../docs/host-harness-contract.md) and [declaration](host-contract.json) (`skill:drawing-quantity-extract`), using only referenced profiles from the [catalog](../../corpus/host-contracts.json). Requirements do not grant access. <!-- architecture-studio:harness-compatibility --> Use the [host adapter](../../docs/host-adapters.md) and available native tools or ordinary task-specific code. Operation names identify semantic procedures, not installed functions. No Arch Studio runner, package installation or executable reconstruction is required. Existing exact authorization persists; ask only for material missing information or permission. Input: exact supplied drawing files/revisions, building/floor/phase scope and requested tags/types. Output: unadopted instance ledger, scoped counts and coverage/exclusion evidence. No record owner is changed. Read owning instructions for project work; one-off files do not require initialization. 1. Verify actual source access. Freeze document hashes and physical page list; record printed sheet IDs separately. Keep drawing types/revisions distinct. Missing access calls a real host grant or produces a precise handoff; never substitute another workspace. 2. Read [native evidence procedures](../../tools/transformers/evidence-contracts.md). Extract text and coordinates using the native `pdf_evidence.extract` procedure; use host OCR/visual inspection for image-only labels. Save page-sized checkpoints. A legend index is local to its drawing, not a global type ID. 3. Build one ledger row per candidate label/symbol at its document/page/bounding box. Classify each as instance, legend, note or unresolved. Count repeated identical tags at distinct positions; inspect duplicate text/OCR layers and overlapping boxes before excluding any. Preserve exclusions and reasons. Associate rooms only using visible boundaries or explicit schedule evidence, not nearest-label proximity. 4. Inspect each scoped page against the ledger. Reconcile revision callouts and same-page schedules; never count note text as furniture or silently relabel instances because a revision note proposes it. Keep observed label counts and any evidenced revised allocation distinct. If methods disagree, report unresolved counts and the source regions; an approximate number is not verified quantity. 5. Apply `drawing_quantities.summarize` with native computation under the complete evidence procedure. It counts supplied classified instances only. Retain the actual result plus the host's per-page coverage and visual evidence; neither a successful command nor unique-tag count proves full extraction. 6. Return counts by exact tag and scope, source locators, excluded/unresolved instances and pages not inspected. Save only requested derived outputs, fresh-read them and preserve originals. Route comparison with inventories or other drawings to `/as:schedule-quantity-reconcile`; route adopted record changes to `/as:master-schedule`, under its authorization. Never certify procurement totals. ## Current document placement Save only authorized derived outputs and verify their actual content, source hashes and complete requested scope. Inline answers and one-off files need no project setup or adoption. For a requested registered project report, resolve confirmed coordinates using the receive-owned native `documents.resolve/register` semantics in the [workspace model](../../docs/workspace-model.md), including its complete document/register mutation sequence. Find existing records with `documents.query`; never guess a folder. This conditional handoff does not authorize schedule or library changes.