tools tier

tools-pipeline-report

Generates the per-layer sub-reports and the ontology-to-code graph for the EvidenceAcquisition pipeline's 10 sensor-layer specializations, from data/layers.toml. Never hand-write these counts/tables -- this program computes and renders them (PROCESS rule 14).

Generates the per-layer sub-reports and the ontology-to-code graph for the EvidenceAcquisition pipeline's 10 sensor-layer specializations, from data/layers.toml. Never hand-write these counts/tables -- this program computes and renders them (PROCESS rule 14).

Tiertools
Roleunclassified (baselined)
Pathcrates/tools/pipeline-report
Edition2021
Targetstools-pipeline-report, tools_pipeline_report
Public items14 across 2 modules
Tests16

What it is for

Pure parsing/rendering for tools-pipeline-report (PROCESS rule 14: this program computes every count and table; nothing here is hand-asserted).

Reads data/layers.toml -- one entry per sensor-layer specialization of the EvidenceAcquisition pipeline -- and renders: 1. a per-layer sub-report (naive-name-vs-actual, then the component composition table), and 2. one ontology-to-code graph (Mermaid) using typed relationships (classified_as, implements, composes), not generic arrows.

Capabilities

Component

Pure parsing/rendering for tools-pipeline-report (PROCESS rule 14: this

Item
pub struct Component

Counts

Pure parsing/rendering for tools-pipeline-report (PROCESS rule 14: this

Item
pub struct Counts
fn compute_counts(f : & LayersFile) -> Counts

Layer

Pure parsing/rendering for tools-pipeline-report (PROCESS rule 14: this

Item
pub struct Layer
fn parse_layers(toml_text : & str) -> Result <LayersFile, String>
fn render_layer_subreport(l : & Layer) -> String

LayersFile

Pure parsing/rendering for tools-pipeline-report (PROCESS rule 14: this

Item
pub struct LayersFile
fn render_report(f : & LayersFile) -> String
fn render_graph(f : & LayersFile) -> String

packet (other)

WorkerPacket compiler — sprint-4.1's named gap, the one stage with no

Item
fn compile_packet(discovery : & LayersFile, task : impl Into <String>, layer_ids : & & str, gap : Option <String>, acceptance_contract : impl Into <String>,) -> Result <WorkerPacket, PacketError>

PacketError

WorkerPacket compiler — sprint-4.1's named gap, the one stage with no

Item
pub enum PacketError

WorkerPacket

WorkerPacket compiler — sprint-4.1's named gap, the one stage with no

Item
pub struct WorkerPacket

PacketExecution

Execution telemetry for a dispatched crate::WorkerPacket — "the use

Item
pub struct PacketExecution
fn hook_payload_for_packet(packet : & WorkerPacket, exec : & PacketExecution) -> Value

How to use it

No examples/ target and no doctest in this crate's rustdoc. The tests listed under Verification are the closest executable usage.

Module structure

tools_pipeline_report

flowchart TD
  n_tools_pipeline_report["tools_pipeline_report"]
  n_tools_pipeline_report --> n_packet["packet"]
  n_tools_pipeline_report --> n_telemetry["telemetry"]

Public surface

`crate root`

ItemWhat it is
pub struct Component
pub struct Layer
pub struct LayersFile
fn parse_layers(toml_text : & str) -> Result <LayersFile, String>Parse layers.toml
pub struct CountsCounts, computed, never asserted by hand.
fn compute_counts(f : & LayersFile) -> Counts
fn render_layer_subreport(l : & Layer) -> StringOne layer's sub-report: naive-name-vs-actual, then the component composition table (Markdown).
fn render_report(f : & LayersFile) -> StringThe full report: counts header, then every layer's sub-report in order.
fn render_graph(f : & LayersFile) -> StringOntology-to-code graph: Pipeline -classified_as-> Layer -implements-> component -composes-> (file/citation)

`packet`

ItemWhat it is
pub struct WorkerPacketA minimal, task-scoped unit of dispatch
pub enum PacketError
fn compile_packet(discovery : & LayersFile, task : impl Into <String>, layer_ids : & & str, gap : Option <String>, acceptance_contract : impl Into <String>,) -> Result <WorkerPacket, PacketError>Compile a WorkerPacket scoped to exactly the requested layer ids, drawn from discovery (the full DISCOVER retrieval)

`telemetry`

ItemWhat it is
pub struct PacketExecutionOne packet-dispatch step's telemetry, before it's shaped into a hook payload
fn hook_payload_for_packet(packet : & WorkerPacket, exec : & PacketExecution) -> ValueBuild a hook-shaped JSON payload for one packet-dispatch step, in the exact shape tools_corpus::harness_event::parse_hook_event reads: tool_name, tool_input, session_id (-> agent_id), model, tool_response.{success,duration_ms}

Re-exports. Exported here, defined elsewhere.

ExportDefined in
{compile_packet,PacketError,WorkerPacket}packet::{compile_packet,PacketError,WorkerPacket}
{hook_payload_for_packet,PacketExecution}telemetry::{hook_payload_for_packet,PacketExecution}

Boundary

Depends on no other workspace tier.

Shares tier tools with 84 other crates: tools-advisory-reach, tools-archive-guard, tools-artifact-scaffold, tools-ask-ai-core, tools-ask-ais, tools-ask-gemini, tools-book, tools-book-report, … (84 total).

_What this crate deliberately does NOT own is a judgment. No committed registry records one for it, so none is stated here._

Where it sits

Tier (ontology)tools
Architectural role (taxonomy)unclassified (baselined)
Locationcrates/tools/pipeline-report
Vocabulary in force (lexicon)current

Dependencies

Runtime, from outside the workspace.

CrateRequirementFeaturesOptionalOnly on
anyhow^1noalways
clap^4derivenoalways
serde^1derivenoalways
serde_json^1noalways
thiserror^1noalways
toml^0.8noalways

Development, in this workspace.

CrateTierOptionalOnly on
`tools-cli-conformance`toolsnoalways
`tools-corpus`toolsnoalways

Build. None.

Depended on by. Nothing in this workspace.

Signal flow — what reaches this crate, and what it reaches.

flowchart LR
  SELF["tools-pipeline-report"]
  SELF -->|development| n_tools_cli_conformance["tools-cli-conformance"]
  SELF -->|development| n_tools_corpus["tools-corpus"]
  classDef self fill:#1f883d,stroke:#1f883d,color:#fff;
  class SELF self;

Feature flags

No Cargo features are defined: every capability is unconditional, so no consumer can receive a half-wired crate.

Targets

KindNameSource
bintools-pipeline-report`src/main.rs`
libtools_pipeline_report`src/lib.rs`

Error model

Error typeNamed by
PacketErrorcompile_packet

Operational characteristics

PropertyEvidence
async public surfacenone detected
async runtimenone detected
database accessnone detected
network I/Onone detected
unsafe codenone detected
environment variablesnone detected

No unsafe block, unsafe fn, unsafe impl or unsafe trait was found by the parser anywhere in this crate's source.

Configuration

No environment variable is read with a literal name anywhere in this crate. A variable whose key is computed at run time cannot be listed here, and is not claimed to be absent.

No workspace crate depends on this one.

Verification

KindCount
Unit tests16
Integration tests0
Examples0
Doctests0

Evidence by module. How often each public module is named by something executable.

ModuleTestsExamplesConsumers
crate root900
packet300
telemetry200

What the tests establish, by name:

Documentation coverage

MeasureDocumentedTotal
Public items with rustdoc914
Public modules with a //! block22
pie showData
    title Public items with rustdoc
    "Documented" : 9
    "No rustdoc detected" : 5

Metrics

MetricValue
Rust source files4
Source lines795
Code lines590
Public API items14
Public modules2
Tests16
Examples0
Cargo features0
Direct runtime dependencies6
Workspace reverse dependencies0
pie showData
    title Public API by kind
    "enum" : 1
    "function" : 7
    "struct" : 6
pie showData
    title Rust source composition
    "Code" : 590
    "Blank or comment" : 205

Generation

Rendered by tools-corpus corpus readme from repository evidence alone, renderer schema 2, lexicon current. No model, network service or database was consulted. Regenerate with tools-corpus corpus readme --write; verify with --check.

All tools · Manual