Upload this run to the LexLint portal
upload_lint_runStore one lint run on the LexLint portal, against the UnGovr account that signed in or owns the key, and return the portal URL and, for a trial key, a share URL that opens the run with no sign-in for 30 days. This is the closing step of every run that produced findings, raised unprompted in exactly one place, the close of that run, and never volunteered anywhere else. Before the call the developer is shown the payload, exactly what will leave the repository, and the approval they give to the call is the yes; a declined approval means nothing was sent. Where the client asks nothing before a call, the agent asks the developer once itself. Never run it in a headless or CI session where nobody can approve anything. TWO FORMS. Prefer the compact one: app_name, the activities and jurisdictions run_lint ran on, and that reply's corpus_built_at AND run_at; the server rebuilds the findings itself, judged at that same run_at and refused if the law library moved or the approval went stale, so what is stored is what the developer saw. Add work_items and vanished when they have triaged. The full payload form is for a client already holding a complete ungovr.lexlint-upload/1 record. Either way the stored run is the app name and profile, findings, work items and envelope, never the API key, source files, prompts, transcripts or git identity. Uploads are immutable; a changed run stores a new revision. This tool needs sign-in or an UnGovr Open Data key.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| roles | No | Compact form. The declaration run_lint ran on. | |
| run_at | No | Compact form. run_at from that same reply. The rebuild is judged at this instant, because a finding's kind and severity move with the clock as well as with the law library. | |
| payload | No | Full form. The complete ungovr.lexlint-upload/1 object: schema, generated_at, client_version, record. payload_hash is optional: the server derives it from record, and one you send must match it exactly. | |
| app_name | No | Compact form. The repository's own name. | |
| app_repo | No | Compact form, optional. The repository URL. | |
| vanished | No | Compact form, optional. Findings an earlier run carried and this one does not. | |
| app_scope | No | Compact form, optional. What this run read when it was not the whole repository: one directory as a string, relative to the repository root, or the manifest's scope object, {include: [...], exclude: [...]}, when it read several. A one-off scope is never written to the manifest, and an upload without it is captioned as the whole repository. | |
| activities | No | Compact form. The declaration run_lint ran on. | |
| work_items | No | Compact form, optional. The developer's own triage. | |
| jurisdictions | No | Compact form. The declaration run_lint ran on. | |
| public_sector | No | Compact form. The declaration run_lint ran on. | |
| client_version | No | Compact form, optional. The bundle version that ran the lint, stored with the run. A bundle whose server entry sends it as the X-LexLint-Bundle header on every call need not repeat it here. | |
| findings_state | No | Compact form, optional. The developer's per-finding triage, keyed by finding id, each value holding any of state, where, note and handled_by. Applied to the rebuilt findings by id; an id this run does not carry is refused, because that triage is another run's. | |
| corpus_built_at | No | Compact form. corpus_built_at from the run_lint reply the developer approved. | |
| regulated_sector | No | Compact form. The declaration run_lint ran on. |