Critical Risk →

collapsed_as_built

Collapsed As-Built / But-For analysis on a post-impact XER. Implements AACE RP 29R-03 §3.8 Modeled / Subtractive / Single Base method (paired with MIP 3.3 Windows for the dual-method gap report per SCL §11.5). Validates a forensic windows analysis (MIP 3.3) by independently computing the same pro...

Part of the Cpp Cpm Engine server.

collapsed_as_built can permanently delete data in Cpp Cpm Engine, with no limits today. PolicyLayer puts allow, deny, and rate-limit rules on every call. Live in minutes.

SECURE CPP CPM ENGINE →

Free to start. No card required.

AI agents may call collapsed_as_built to permanently remove or destroy resources in Cpp Cpm Engine. Without a policy, an autonomous agent could delete critical data in a loop with no way to undo the damage. PolicyLayer blocks destructive tools by default and requires explicit human approval before enabling them.

Without a policy, an AI agent could call collapsed_as_built in a loop, permanently destroying resources in Cpp Cpm Engine. There is no undo for destructive operations. PolicyLayer blocks this tool by default and only allows it when a human explicitly approves the action.

Destructive tools permanently remove data. Block by default. Only enable with explicit approval workflows.

policy.json
{
  "version": "1",
  "default": "deny",
  "hide": [
    "collapsed_as_built"
  ]
}

See the full Cpp Cpm Engine policy for all 12 tools.

Get this rule live on your own Cpp Cpm Engine server in minutes. PolicyLayer enforces it on every call, before it runs.

ENFORCE ON MY CPP CPM ENGINE →

View all 12 tools →

These attack patterns abuse exactly the kind of access collapsed_as_built gives an agent. Each links to the full case and the policy that stops it:

Browse the full MCP Attack Database →

Every attack above starts with a tool call. PolicyLayer checks each one against your policy first, so collapsed_as_built only ever does what you allow.

SECURE CPP CPM ENGINE →

Other destructive tools across the catalogue. The same approach applies to each: deny by default, or require human approval.

What does the collapsed_as_built tool do? +

Collapsed As-Built / But-For analysis on a post-impact XER. Implements AACE RP 29R-03 §3.8 Modeled / Subtractive / Single Base method (paired with MIP 3.3 Windows for the dual-method gap report per SCL §11.5). Validates a forensic windows analysis (MIP 3.3) by independently computing the same project drift via subtractive removal of delays from the as-built schedule. For each delay event, the as-built duration of every affected_activity is shortened by impact_days (or removed entirely if removal_method="remove"), then CPM re-runs and the resulting "but-for" finish date is compared to the as-built finish. Cumulative pass removes ALL events at once for a project-level but-for finish. Use this tool when opposing counsel demands a but-for analysis or you need a dual-method validation pairing §3.3 (windows) with §3.8 (collapsed-as-built). For prospective fragnet insertion (MIP 3.7), use time_impact_analysis_fragnet instead. Args: as_built_xer_path: server-side post-impact XER (after delays incurred). as_built_xer_content: full text of post-impact XER (alternative for hosted/remote use). Supply EXACTLY ONE of path/content. delay_events: list of event dicts. Each must have event_id, affected_activities (list of task_codes), and impact_days (number). Optional: removal_method ('shorten'|'remove'), responsible_party, name, description. output_dir: optional output dir for HTML/CSV (tempdir if ""). project_name: optional override. removal_method: global default 'shorten' or 'remove'. contractor_filter: when True, exclude contractor-caused events from the cumulative pass (owner audit mode). Returns: { "as_built_finish": "YYYY-MM-DD", "per_event_results": [{event_id, but_for_finish, impact_days, ...}, ...], "cumulative_but_for_finish": "YYYY-MM-DD", "cumulative_impact_days": int, "dual_method_gap": dict | None, "output_files": {...}, "warnings": [...], "method": "AACE 29R-03 §3.8 (Modeled/Subtractive/Single Base)" }. It is categorised as a Destructive tool in the Cpp Cpm Engine MCP Server, which means it can permanently delete or destroy data. Block by default and require explicit approval.

How do I enforce a policy on collapsed_as_built? +

Register the Cpp Cpm Engine MCP server in PolicyLayer and add a rule for collapsed_as_built: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Cpp Cpm Engine. Nothing to install.

What risk level is collapsed_as_built? +

collapsed_as_built is a Destructive tool with critical risk. Critical-risk tools should be blocked by default and only enabled with explicit human approval.

Can I rate-limit collapsed_as_built? +

Yes. Add a rate_limit block to the collapsed_as_built rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block collapsed_as_built completely? +

Set action: deny in the PolicyLayer policy for collapsed_as_built. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides collapsed_as_built? +

collapsed_as_built is provided by the Cpp Cpm Engine MCP server (https://mcp.criticalpathpartners.ca/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policy on every Cpp Cpm Engine tool call.

Deterministic rules across all 12 Cpp Cpm Engine tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Free to start. No card required.

4,600+ MCP servers and 31,000+ tools scanned and risk-classified.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.