# amortize_asc606_commissions

ASC 340-40 Commission Amortization: OpenChainGraph compute node (compliance_mandate). Runs deterministically in-browser; zero PII, zero egress. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-266-reconcile-commission-statement. Open at: https://ainumbers.co/chaingraph/art-265-amortize-asc606-commissions.html

Agent View of the PolicyLayer registry record for `amortize_asc606_commissions`. HTML page: https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/amortize-asc606-commissions

## Facts

- Tool: `amortize_asc606_commissions`
- Server: Ainumbers Mcp Apps (`postoaklabs/ainumbers-mcp-apps`) — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps.md
- Homepage: https://github.com/PostOakLabs/ainumbers-mcp-apps
- Risk category: Execute (High risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server CORS policy: https://ainumbers.co
- Server rate-limited: no
- Parameters: 4
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `compute` | string | no | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always ret |
| `parent_hashes` | array | no | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). |
| `parent_tool_ids` | array | no | tool_id values matching parent_hashes, in the same order. |
| `policy_parameters` | object | no | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "serv |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "amortize_asc606_commissions",
    "arguments": {}
  }
}
```

## Why amortize_asc606_commissions is rated High

This tool executes a deterministic computation (ASC 340-40 commission amortization) in-browser, produces output artifacts with cryptographic hashes, and consumes upstream artifacts. It is an execution node in a processing graph rather than a simple read or write operation.

From the tool's own definition: "'OpenChainGraph compute node', 'Runs deterministically in-browser', 'Exports an AP2 artifact with execution_hash for chain provenance', 'Consumes upstream artifacts'"

## Use case

AI agents invoke amortize_asc606_commissions to trigger actions in Ainumbers Mcp Apps. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call: builds kicked off, notifications sent, workflows started.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Ainumbers Mcp Apps:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "amortize_asc606_commissions": {
      "limits": [
        {
          "counter": "amortize_asc606_commissions_rate",
          "window": "minute",
          "max": 10,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Ainumbers Mcp Apps (459)

- `agentic_mandate_sandbox` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/agentic-mandate-sandbox.md
- `allocate_ihb_interest` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/allocate-ihb-interest.md
- `anchor_document_integrity` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/anchor-document-integrity.md
- `apply_climate_scenario` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/apply-climate-scenario.md
- `build_226j_response_evidence_pack` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-226j-response-evidence-pack.md
- `build_agent_incident_record` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-agent-incident-record.md
- `build_agent_test_evidence` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-agent-test-evidence.md
- `build_agent_traffic_policy` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-agent-traffic-policy.md
- `build_ai_conformity_pack` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-ai-conformity-pack.md
- `build_ai_workpaper_record` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-ai-workpaper-record.md
- `build_amortization_schedule` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-amortization-schedule.md
- `build_chaingraph` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-chaingraph.md
- `build_claim_dispute_bundle` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-claim-dispute-bundle.md
- `build_conversion_receipt` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-conversion-receipt.md
- `build_digest_manifest` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-digest-manifest.md
- `build_disclosure_manifest` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-disclosure-manifest.md
- `build_einvoice_transmission_receipt` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-einvoice-transmission-receipt.md
- `build_etr_possession_chain` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-etr-possession-chain.md
- `build_fria_monitoring_plan` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-fria-monitoring-plan.md
- `build_google_ap2_mandate` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-google-ap2-mandate.md
- `build_idv_session_receipt` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-idv-session-receipt.md
- `build_mastercard_agentic_token` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-mastercard-agentic-token.md
- `build_no_russia_clause_pack` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-no-russia-clause-pack.md
- `build_pld_disclosure_pack` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-pld-disclosure-pack.md
- `build_product_lineage` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-product-lineage.md
- `build_tdm_reservation` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-tdm-reservation.md
- `build_traiga_safe_harbor_pack` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-traiga-safe-harbor-pack.md
- `build_vop_session_receipt` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-vop-session-receipt.md
- `build_workflow_links` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-workflow-links.md
- `calculate_irrbb_eve_shocks` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/calculate-irrbb-eve-shocks.md
- …and 429 more: https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=postoaklabs-ainumbers-mcp-apps · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/postoaklabs-ainumbers-mcp-apps
