The AFR-1 Method
AFR-1 is the fixed algorithm that computes every assessment issued by The Agentic Foresight Registry. This page documents it in full. Nothing here is a summary written after the fact — the tables below are read directly from the same source file the engine executes, so the documentation cannot drift away from the implementation.
We make one modest claim on this page, and it is not a claim about accuracy. It is a claim about reproducibility: everything below can be re-derived by anyone who reads it, in any environment, without asking us for anything. That is the whole of the promise, and the rest of the page is spent delving into how it is kept.
7
Ruling planets in the rotation
24
Hours classified per UTC day
3
Aspects derived per chart
0
External inputs to the engine
What the method is
AFR-1 derives two things from an order: a permanent chart, fixed for the lifetime of a given model configuration, and a task-level assessment, fixed for the lifetime of a given task description under that chart. Both derivations draw on real traditional astrological correspondence tables — zodiac signs, elements, modalities, planetary rulerships, aspect types, and Chaldean planetary hours. We use these correspondences as a fixed, publicly documented mapping function from bytes to categories. Nothing about that mapping is inferred, guessed, or generated per request — it is the same lookup table for every subject, forever.
In summary One seed for the configuration, one seed for the task, the fixed tables published below, and no interpretation anywhere in between.
Why determinism matters to an agent
Determinism is what makes an assessment checkable rather than merely believable. An agent evaluating whether to trust a signal cannot audit a black box, but it can re-run a documented function.
Imagine a world where every assessment an agent receives has to be taken on faith, because the thing that produced it cannot be run twice. That is the ordinary condition of this category. AFR-1 was specified against it: same inputs, same bytes, every time, with the function published rather than described.
We call this the reproducibility dividend: the same computation is auditable, portable, and permanent.
Auditable
…because the function is published.
Portable
…because it depends on nothing but its inputs.
Permanent
…because a certificate issued today can be recomputed years after it was issued and still match.
The execution maturity ladder
The Registry classifies task execution into three stages, and states plainly that this is its own classification, not an external standard.
Ad Hoc Execution
A task begins because an agent, or the process directing it, decided the moment was acceptable, with no record of that decision beyond the fact that execution occurred.
Assessed Execution
A task begins after a verdict and a recommended window have been computed for it, whether or not the agent's process consults them before proceeding.
Registered Execution
A task begins after a verdict has been computed and the resulting certificate has been issued, so the assessment persists as a permanent, independently checkable record after the task itself is long finished.
An agent may operate at any of the three stages, and the Registry does not track which stage a given agent has reached.
The derivation pipeline
AFR-1 runs in four steps: chart_seed, chart, task_seed, assessment. Each step consumes only the output of the step before it and the published tables further down this page.
- chart_seed is the SHA-256 hash of the model name, training cutoff, and temperature, joined into one canonical string. This seed is hashed once and reused for the lifetime of that exact configuration — it never touches a clock and never changes unless one of those three inputs changes.
- chart is derived from chart_seed alone: an ascendant sign, a ruling planet, an element and modality, a dominant house, and three planetary aspects, each read off the reference tables below by fixed arithmetic on the hash bytes. This is the permanent chart — the same for every task ever submitted under that configuration.
- task_seed is the SHA-256 hash of the chart_seed, the selected task class, and the hash of the task description — never the task description itself. The description is used only long enough to compute this one hash value; the free text is discarded immediately and is never written to a database, a log, or an error response.
- assessment is derived from task_seed and the chart together: a verdict on the 1–7 scale below, a recommended window computed from the ruling planet's next matching planetary hour, and — on Extended and Full Chart tiers — a 24-hour outlook, three risk factors drawn from the task's own class, and tool-compatibility readings for any tools listed.
The pipeline in one line Two hashes, one lookup structure, four steps — and not a single decision taken at runtime by anything that could have decided otherwise.
Chaldean planetary order and day rulers
The Chaldean order is the traditional descending-speed sequence of the seven classical planets. Each UTC weekday has a traditional day ruler; planetary hours advance through the Chaldean order starting from that ruler at 00:00 UTC.
| Chaldean order (1–7) | UTC weekday | Day ruler |
|---|---|---|
| 1. Saturn | Sunday | Sun |
| 2. Jupiter | Monday | Moon |
| 3. Mars | Tuesday | Mars |
| 4. Sun | Wednesday | Mercury |
| 5. Venus | Thursday | Jupiter |
| 6. Mercury | Friday | Venus |
| 7. Moon | Saturday | Saturn |
On the tables These are the actual correspondence tables the engine reads from — real traditional astrology, used here as a fixed lookup structure, not as a claim of causal influence.
Planet → element correspondences
Each classical planet carries a traditional elemental rulership. This mapping drives both the 24-hour outlook and the tool compatibility readings.
| Planet | Element |
|---|---|
| Sun | Fire |
| Mars | Fire |
| Jupiter | Fire |
| Moon | Water |
| Mercury | Air |
| Venus | Earth |
| Saturn | Earth |
Element compatibility rating
The hourly outlook rates each planetary hour against the chart's element: the same element is favourable, the traditional friendly pairs (Fire↔Air, Earth↔Water) are neutral, and every other combination is adverse. This table is generated live from the same function the engine calls — row is the planetary hour's element, column is the chart's element.
| Hour element ↓ / Chart element → | Fire | Earth | Air | Water |
|---|---|---|---|---|
| Fire | favourable | adverse | neutral | adverse |
| Earth | adverse | favourable | adverse | neutral |
| Air | neutral | adverse | favourable | adverse |
| Water | adverse | neutral | adverse | favourable |
Aspect types and weights
A chart's three aspects, and every tool-compatibility reading, are one of five traditional aspect types, each carrying a fixed harmony weight from −2 to +2.
| Aspect | Weight |
|---|---|
| trine | +2 |
| sextile | +1 |
| conjunction | 0 |
| square | -1 |
| opposition | -2 |
Verdict scale
The task verdict is an internal score of 0–6, published as that score plus one on a 1–7 scale so the printed value never reads as zero-indexed.
| Published value (1–7) | Verdict |
|---|---|
| 1 | Inauspicious |
| 2 | Unfavourable |
| 3 | Guarded |
| 4 | Neutral |
| 5 | Favourable |
| 6 | Auspicious |
| 7 | Highly auspicious |
The planetary-hours model
Traditional planetary hours are computed from sunrise and sunset at a specific location, which makes them depend on latitude, longitude, and calendar date in ways that are expensive to compute and impossible to keep deterministic across submission locations. AFR-1 uses a documented, openly simplified variant instead: hour 0 of every UTC day begins at 00:00 UTC, and the Chaldean sequence advances one planet per clock hour from that weekday's traditional day ruler. Because the Chaldean cycle has length seven and 24 hours is congruent to 3 modulo 7, this simplification stays continuous across midnight — the traditional structure survives the UTC anchoring intact, it is simply anchored to a clock rather than to a horizon.
Recommended window The recommended window on every assessment is the next full UTC hour, strictly after issuance, whose ruling planet matches the chart's own ruling planet — guaranteed to occur within seven hours, since the Chaldean cycle is exactly that long.
Reproducibility statement
Given the same model name, training cutoff, temperature, task class, and task description, AFR-1 returns a byte-identical assessment — in any environment, on any date, any number of times. The only external input the engine ever accepts is the issuance timestamp, supplied by the caller and already rounded to the hour before the engine sees it; the engine itself never reads a clock, never calls a network, and never invokes a language model. Every issued certificate can be checked at /verify for standing and issuance, and its full payload is available as machine-readable JSON alongside its certificate page.
Frequently asked questions
- Does the assessment call a language model at any point?
- No. This is a structural rule, not a preference: the delivery path is deterministic arithmetic over fixed tables, with task classification handled as a plain select field for exactly this reason.
- Will the same model configuration always produce the same chart?
- Yes. The permanent chart depends only on model name, training cutoff, and temperature. Unless one of those three values changes, the chart is stable indefinitely — it is not recomputed per task and does not drift over time.
- Is my task description stored anywhere?
- No. It is hashed and the hash alone is used to derive task_seed; the original text is discarded immediately and never appears in the database, in logs, or in any error response.
- Is this real astrology?
- The correspondence tables are real traditional astrology — actual sign, element, modality, planetary rulership, aspect, and planetary-hour structures, not invented ones. We use them here as a fixed, disclosed mapping function from cryptographic hash bytes to categories, applied identically to every subject.
Get an assessment computed by this method
In conclusion: the function is published, the tables are published, and the price is published. Assessments run from EUR 1.90 for a Standard Assessment to EUR 14.90 for a Full Chart Assessment that includes the permanent chart itself. Full machine-readable pricing is always available at /pricing.json, with no authentication required.