Skip to content

Fact types

This page is generated from the code of engine version 0.16.0. Between releases, the site shows the code on main, which may already have changes for the next version.

A fact is data that Pointsman looks up itself, for example whether a place is in a flood zone or how many files a pull request changes. The AI does not guess facts. A profile names each fact with a type from this page, and its rules read the fields of that type.

In the tables, name stands for the name the profile gives the fact.

Shared fact types (capabilities) are defined by the engine. Modules answer them, some only for their own layers.

Inside an area of a layer.

Answered by @pointsman/facts-gsi (layers gsi-flood-max).

FieldKindMeaning
insideyes or notrue: the place is inside name
ranknumberthe rank of name
classtextthe class of name

Settings in a profile, besides name, type and at:

SettingTypeRequiredDescription
layerstringyesLayer id for inside and nearest, configured per deployment (source, licence, attribution).

Missing as no_location when the request has no value at at (no location in the request). A lookup gives up after 3 s.

The nearest feature of a layer.

Answered by @pointsman/facts-gsi (layers gsi-shelters-flood).

FieldKindMeaning
foundyes or notrue: a nearest name was found
distance_mnumberthe distance to the nearest name (m)
nametextthe name of the nearest name

Settings in a profile, besides name, type and at:

SettingTypeRequiredDescription
layerstringyesLayer id for inside and nearest, configured per deployment (source, licence, attribution).

Missing as no_location when the request has no value at at (no location in the request). A lookup gives up after 3 s.

Extra metres around a closed section (needs a LineString).

Answered by @pointsman/facts-valhalla.

FieldKindMeaning
possibleyes or notrue: there is a way around (name)
extra_mnumberthe extra distance of the way around (name) (m)
routetextFor people and maps only; rules cannot use it.

Settings in a profile, besides name, type and at:

SettingTypeRequiredDescription
mode“drive” | “walk”noFor detour: by car (drive, the default) or on foot (walk).
routebooleannoFor detour: also return the way around (route, an encoded polyline). Default false: the route starts and ends at the section, so it is stored with each decision.

Missing as no_location when the request has no value at at (no location in the request). A lookup gives up after 8 s.

Fact types of the module @pointsman/github. Deployment settings it reads: FACTS_GITHUB, FACTS_GITHUB_TOKEN, FACTS_GITHUB_APP_ID, FACTS_GITHUB_APP_PRIVATE_KEY, FACTS_GITHUB_IGNORE_CHECK.

A pull request.

FieldKindMeaning
openyes or notrue: the pull request name is open
mergedyes or notrue: the pull request name is merged
draftyes or notrue: the pull request name is a draft
wip_titleyes or notrue: the title of name says WIP
filesnumberthe number of changed files of name
changed_linesnumberthe number of changed lines of name
base_is_defaultyes or notrue: name targets the default branch
author_memberyes or notrue: the author of name is a member of the owner
author_dependabotyes or notrue: name is by Dependabot
forkyes or notrue: name comes from a fork
all_commits_verifiedyes or notrue: every commit of name has a verified signature
pushed_by_authortextthe answer to “did the author of name push every commit”
author_sole_code_owneryes or notrue: the author of name is the only code owner of every changed file

Missing as no_pr when the request has no value at at (no pull request in the request). A lookup gives up after 5 s.

Changed files that match paths.

FieldKindMeaning
anyyes or notrue: a changed file matches name
allyes or notrue: every changed file matches name
countnumberthe number of changed files that match name

Settings in a profile, besides name, type and at:

SettingTypeRequiredDescription
pathsstring[]yesFor github_paths: the files that count, as globs from the top of the repository (*, ** and ? only), for example docs/**.
exceptstring[]noFor github_paths: files that never count, even when they match paths.

Missing as no_pr when the request has no value at at (no pull request in the request). A lookup gives up after 5 s.

Required checks on the head commit.

FieldKindMeaning
requirednumberthe number of required checks (name)
greenyes or notrue: every required check (name) passed
pendingyes or notrue: a required check (name) has not finished
failedyes or notrue: a required check (name) failed

Missing as no_pr when the request has no value at at (no pull request in the request). A lookup gives up after 5 s.

A repository custom property.

FieldKindMeaning
valuetextthe value of name

Settings in a profile, besides name, type and at:

SettingTypeRequiredDescription
propertystringyesFor github_property: the name of a repository custom property.

Missing as no_pr when the request has no value at at (no pull request in the request). A lookup gives up after 5 s.

The GitHub Actions files it changes.

FieldKindMeaning
changednumberthe number of changed files in name (workflows, local actions, scanner settings)
removednumberthe number of removed files in name (workflows, local actions, scanner settings)
unparsednumberthe number of workflow and action.yml files in name that cannot be read safely
bytesnumberthe size in bytes of the changed files in name
privilegednumberthe number of changed workflows in name that run with the base repository’s token
privileged_newnumberthe number of such triggers that name adds
head_checkoutnumberthe number of privileged jobs in name that may check out other code
pwn_requestnumberthe number of privileged jobs in name that may run the checked-out code
artifact_in_privilegednumberthe number of privileged jobs in name that download an artifact of another run
remote_reusablenumberthe number of jobs in name that call a reusable workflow of another repository from a privileged workflow, or pass every secret
secrets_newnumberthe number of secrets that jobs in name newly read
injectionnumberthe number of untrusted expressions in scripts in name
permissions_missingnumberthe number of jobs in name without permissions
write_allnumberthe number of broad write permissions in name
write_newnumberthe number of write permissions that name adds
persistednumberthe number of checkouts in name that keep the token on disk
unpinnednumberthe number of actions and images in name not pinned to a commit or digest
suppressions_newnumberthe number of scanner exceptions that name adds
local_unresolvednumberthe number of local actions and reusable workflows in name that a person must read
detailtextFor people and maps only; rules cannot use it.

Settings in a profile, besides name, type and at:

SettingTypeRequiredDescription
privileged_triggersstring[]noFor github_workflows: more triggers that run in the base repository’s context, added to the defaults.
inert_actionsstring[]noFor github_workflows: more actions (owner/repo or owner/*) known not to run workspace content, added to the defaults (actions/checkout, actions/upload-artifact).
safe_contextsstring[]noFor github_workflows: more github.* paths that are safe in a script (numbers, ids, commit ids), added to the defaults. Exact paths in lower case.
base_refsstring[]noFor github_workflows: more expressions that name the base in a checkout’s ref, added to the defaults (github.sha, github.ref).
git_actionsstring[]noFor github_workflows: actions (owner/repo or owner/*) that need the git credentials of a checkout.
pin_exemptstring[]noFor github_workflows: actions (owner/repo or owner/*) that need not be pinned to a commit.

Missing as no_pr when the request has no value at at (no pull request in the request). A lookup gives up after 5 s.

Copilot code review on the pull request.

FieldKindMeaning
requestedyes or notrue: a Copilot review of name is requested
reviewed_headyes or notrue: Copilot reviewed the head commit of name
approved_headyes or notrue: Copilot approved the head commit of name
reviewsnumberthe number of Copilot reviews of name

Missing as no_pr when the request has no value at at (no pull request in the request). A lookup gives up after 5 s.

Whether a GitHub App approved the pull request.

FieldKindMeaning
approved_headyes or notrue: the app of name approved the head commit
approved_anyyes or notrue: an approval by the app of name stands
reviewsnumberthe number of reviews by the app of name

Settings in a profile, besides name, type and at:

SettingTypeRequiredDescription
appstringyesFor github_app_approval: the GitHub App’s slug; its bot account is “[bot]”.
bot_idintegernoFor github_app_approval: the account id of the app’s bot (GET /users/[bot]); when given, it must match too.

Missing as no_pr when the request has no value at at (no pull request in the request). A lookup gives up after 5 s.

Whether the pull request only changes a version (and the changelog).

FieldKindMeaning
version_onlyyes or notrue: name only changes a version (and the changelog)
fromtextthe version before name
totextthe version after name
leveltextthe kind of version step of name (major, minor, patch or none)

Settings in a profile, besides name, type and at:

SettingTypeRequiredDescription
version_filesstring[]yesFor github_release: the files where a line that sets the version may change (globs), for example package.json or src/version.ts: a key such as version, VERSION or ENGINE_VERSION with the version as its value; in a package.json only its “version” line.
version_text_filesstring[]noFor github_release: files where any line may carry the version, for docs that name it (globs). Never files that run.
changelogsstring[]noFor github_release: changelog files (globs), which may only get lines added; default CHANGELOG.md.

Missing as no_pr when the request has no value at at (no pull request in the request). A lookup gives up after 5 s.

Whether the pull request only bumps npm dependency versions.

FieldKindMeaning
appliesyes or notrue: name is an npm dependency bump
only_manifestsyes or notrue: name only changes package.json and lockfiles
version_onlyyes or notrue: name only changes dependency versions
semvertextthe largest version step of name (major, minor, patch or none)
dev_onlyyes or notrue: name only bumps dev dependencies
registry_changedyes or notrue: name may change where a package comes from
manifest_linesnumberthe number of changed lines in the package.json files of name
release_age_daysnumberthe age of the youngest release that name bumps to (days)

Missing as no_pr when the request has no value at at (no pull request in the request). A lookup gives up after 10 s.

Fact types of the module @pointsman/coderabbit. Deployment settings it reads: FACTS_CODERABBIT, FACTS_GITHUB, FACTS_GITHUB_TOKEN, FACTS_GITHUB_APP_ID, FACTS_GITHUB_APP_PRIVATE_KEY.

CodeRabbit reviews of the pull request.

FieldKindMeaning
installedyes or notrue: CodeRabbit runs in the repository of name
ignoredyes or notrue: the description of name switches CodeRabbit off
reviewed_anyyes or notrue: CodeRabbit reviewed a commit of name
reviewed_headyes or notrue: CodeRabbit reviewed the head commit of name
in_progressyes or notrue: a CodeRabbit review of name is running
approved_headyes or notrue: CodeRabbit approved the head commit of name
rebase_onlyyes or notrue: the head of name has the same change as the commit CodeRabbit approved
changes_requestedyes or notrue: CodeRabbit requests changes on name
unresolved_threadsnumberthe number of open CodeRabbit threads on name
outside_diff_findingsyes or notrue: CodeRabbit’s latest review of name has findings outside the diff
billable_filesnumberthe number of files a CodeRabbit review of name would bill
price_statedyes or notrue: CodeRabbit stated the billable files of the head of name

Settings in a profile, besides name, type and at:

SettingTypeRequiredDescription
not_reviewedstring[]noFor coderabbit and coderabbit_spend: files CodeRabbit does not review (globs, for example **/pnpm-lock.yaml), left out of the billable count Pointsman makes when CodeRabbit stated none.

Missing as no_pr when the request has no value at at (no pull request in the request). A lookup gives up after 5 s.

The pull request author’s CodeRabbit review budget.

FieldKindMeaning
knownyes or notrue: the budget name is known
asked_minutes_agonumberthe minutes since the author asked for name
availablenumberthe number of free reviews in name
wait_statedyes or notrue: CodeRabbit stated a wait for name
wait_minutesnumberthe minutes to wait for the next free review in name
allowance_per_hournumberthe reviews per hour in name
observed_minutes_agonumberthe minutes since name was read
taken_by_other_pryes or notrue: another pull request of the author took a free review since name was read
authortextthe author in name For people and maps only; rules cannot use it.
pull_requesttextthe pull request of name For people and maps only; rules cannot use it.

Settings in a profile, besides name, type and at:

SettingTypeRequiredDescription
review_actionsstring[]noFor coderabbit_budget and coderabbit_queue: decision actions that use a free review (default: review).

Missing as no_pr when the request has no value at at (no pull request in the request). A lookup gives up after 5 s.

The author’s pull requests waiting for a CodeRabbit review ahead of this one.

FieldKindMeaning
aheadnumberthe number of pull requests ahead in name
wait_minutesnumberthe minutes to wait in name
authortextthe author in name For people and maps only; rules cannot use it.
pull_requesttextthe pull request of name For people and maps only; rules cannot use it.

Settings in a profile, besides name, type and at:

SettingTypeRequiredDescription
waitingstring[]yesFor coderabbit_queue: decision actions that mean a pull request waits for a free review (for example wait, queue). A pull request whose latest decision of this profile has one of them waits.
review_actionsstring[]noFor coderabbit_budget and coderabbit_queue: decision actions that use a free review (default: review).
max_age_minutesintegernoFor coderabbit_queue: a waiting decision older than this many minutes no longer counts (default 120, at most 1440).

Missing as no_pr when the request has no value at at (no pull request in the request). A lookup gives up after 5 s.

The spend on paid CodeRabbit reviews.

FieldKindMeaning
price_usdnumberthe price of the review in name (USD)
per_pr_usd_afternumberthe spend on the pull request after the review in name (USD)
per_window_usd_afternumberthe spend in the time window after the review in name (USD)
paid_for_headyes or notrue: a paid review of the head of name was requested and started
authortextthe author in name For people and maps only; rules cannot use it.
pull_requesttextthe pull request of name For people and maps only; rules cannot use it.
headtextthe head commit of name For people and maps only; rules cannot use it.

Settings in a profile, besides name, type and at:

SettingTypeRequiredDescription
pay_actionsstring[]yesFor coderabbit_spend: decision actions that pay for a review (for example pay). Every logged decision with one of them counts at its price, once per head, until shown otherwise.
usd_per_filenumberyesFor coderabbit_spend: the price per billable file, in US dollars, when CodeRabbit stated no price for the head.
window_hoursintegernoFor coderabbit_spend: the time window of per_window_usd_after, in hours (default 5, at most 24).
pr_hoursintegernoFor coderabbit_spend: how far back per_pr_usd_after counts payments of the pull request, in hours (default 48, at most 168).
payer_appsinteger[]noFor coderabbit_spend: GitHub Apps, by id, whose paid review comments count for paid_for_head (besides the author and organization owners and members).
not_reviewedstring[]noFor coderabbit and coderabbit_spend: files CodeRabbit does not review (globs, for example **/pnpm-lock.yaml), left out of the billable count Pointsman makes when CodeRabbit stated none.

Missing as no_pr when the request has no value at at (no pull request in the request). A lookup gives up after 5 s.

A fact that has no value is missing: its field missing is true and reason says why. Rules can test both.

ReasonMeaningFrom
unavailablethe data is not availableany fact
timeoutthe lookup took too longany fact
erroran errorany fact
no_locationno location in the requestinside, nearest, detour
no_prno pull request in the requestgithub_pr, github_paths, github_checks, github_property, github_workflows, github_copilot, github_app_approval, github_release, github_bump, coderabbit, coderabbit_budget, coderabbit_queue, coderabbit_spend
stalethe pull request has a newer commit@pointsman/coderabbit
no_logno decision log to read (a test token, or a lookup outside a decision)@pointsman/coderabbit

An open-source project by Geolonia · About this site