Skip to content

Rework natural gas pipelines schema - #546

Draft
bpulluta wants to merge 1 commit into
mainfrom
natural_gas_update
Draft

Rework natural gas pipelines schema#546
bpulluta wants to merge 1 commit into
mainfrom
natural_gas_update

Conversation

@bpulluta

@bpulluta bpulluta commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator

Summary

Reworks the natural gas pipelines one-shot extraction plugin so its schema captures decomposed, multi-axis requirement rows instead of the previous flat 5-field outputs.

This is an initial cut to continue developing and track changes.

Schema (natural_gas_pipelines_schema.json)

  • Each outputs row is now decomposed on four axes:
    • WHATfeature, specific_subject, applies_to, requirement_description
    • HOW MUCHvalue, value_category, value_interpretation, units, range_low/range_high
    • HOW BINDINGobligation
    • WHEN/WHEREcondition
    • Evidencesource_verbatim, summary, section, notes, explanation
  • Feature enum expanded to 16: added roads / schools / hospitals / community-structures distances and permit_approval; folded day/night into a single noise feature + condition, and rear/side yard into property lines distance + specific_subject.
  • Added $qualitative_features (zoning districts, permit_approval) — previously missing, so every feature routed as quantitative.
  • Added $scope, $core_principles, grouped $definitions, $instructions, $examples, and $qa_checklist following the freshest sibling (oil_gas_wells) house style.

Config (plugin_config.yaml)

  • Lowercased heuristic_keywords keys (house style).
  • Added mixed oil-and-gas / gas-well chapter recall queries and keyword-score tuning for discovery.
  • Rewrote extraction_system_prompt to teach the decomposition model (axes, one-row-per-requirement, most-restrictive rule, siting-focus exclusions).

Validation

  • Live 1-jurisdiction run (Rehoboth, MA, gpt-5.4, full search→download→collect→extract→CSV): produces the 25-column decomposed output; correctly extracted noise 55 dBA (fully decomposed, with notes on the absence of separate day/night limits) and two permit_approval rows (special permit, site plan approval), routed to the quant/qual CSVs correctly. Compared to the old flat output it dropped both false positives (a site-plan filing radius mislabeled as a setback; an exhaust muffler mislabeled as an enclosure).

Copilot AI lite review requested due to automatic review settings August 28, 2026 21:58
@bpulluta
bpulluta marked this pull request as draft August 28, 2026 22:00
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 65.12%. Comparing base (8d4d64a) to head (299afaf).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #546   +/-   ##
=======================================
  Coverage   65.11%   65.12%           
=======================================
  Files          78       78           
  Lines        7490     7492    +2     
  Branches      754      754           
=======================================
+ Hits         4877     4879    +2     
  Misses       2453     2453           
  Partials      160      160           
Flag Coverage Δ
unittests 65.12% <ø> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@bpulluta bpulluta changed the title Rework natural gas pipelines schema into decomposed multi-axis extraction Rework natural gas pipelines schema Aug 28, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR reworks the natural gas pipelines one-shot extraction plugin to use a decomposed, multi-axis “one row per requirement” schema, expanding the output model to capture richer requirement context while keeping compatibility with COMPASS’s schema-driven one-shot pipeline.

Changes:

  • Updated plugin_config.yaml discovery queries/keywords and rewrote the extraction system prompt to teach the decomposition model and stricter scope rules.
  • Replaced the prior flat outputs schema with a decomposed row schema (WHAT / HOW MUCH / HOW BINDING / WHEN-WHERE + evidence), expanding features and adding richer evidence fields.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
compass/extraction/natural_gas_pipelines/plugin_config.yaml Broadens discovery inputs and updates the extraction system prompt to align LLM behavior with the decomposed row model and scope rules.
compass/extraction/natural_gas_pipelines/natural_gas_pipelines_schema.json Introduces the decomposed multi-axis output schema, expanded feature enum, and richer evidence/normalization guidance.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +11 to +13
# Many jurisdictions regulate natural gas compressor stations inside broader
# "oil and gas" or gas-well chapters. Cast a wider net at discovery; the
# schema scope gate and applies_to field filter out well-only content later.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants