Record a git commit onto the nodes it touched
record_commitRecord a commit to configuration nodes: match changed files against metadata.implements, append the commit SHA and message, and flag co-change candidates for dependency review.
Instructions
Configuration record (CI/CD). Given a commit SHA and the files it changed, finds nodes whose metadata.implements include any of those files and appends the commit (sha + timestamp + optional message) to their metadata.commits (deduped by sha). Returns the matched node ids. When one commit touches several nodes that are NOT yet connected, the response also carries coChangeCandidates[] ({a, aLabel, b, bLabel}) — nodes that change together are dependency candidates; review them and add a create_edge/create_api where a real relation exists (not auto-created; suppressed for large multi-node commits). Umtri does not run jobs or read git itself — a GitHub Action / CI step or an agent supplies the sha+files. Recording a commit is the LAST step: first make sure the change is in the tree (new unit → create_node with metadata.implements; moved file → update_node), otherwise the sha lands on the nodes that happen to exist and the new ones stay invisible. A repo that keeps forgetting should write the habit down — see umtri://rules/commit-sync. See also umtri://rules/plan.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sha | Yes | Commit SHA (short or full). | |
| slug | Yes | Ground slug. | |
| files | Yes | Repo-relative paths changed by the commit, matched against nodes' metadata.implements. | |
| message | No | Commit message (optional, stored with the record). |