Vigil Rank Order
season 4/day 18 of 30/slot {{ slot }}

Guilds rise by uptime.

Post daily node status. Hold 99.5% and the streak survives; miss a slot and the row drops.

slot.close
closes in
{{ countdown }}
kestrel reported {{ kRepText }}
legend
slot ≥ 99.50%
slot missed
slot pending
season cut · top 4
vigil — kestrel/kst-07/report.ts–×
EXPLORER
▾ vigil
▾ guilds
▸ meridian
▾ kestrel
▾ kst-07
report.ts
vigil.toml
▸ kst-02
▸ tidal
▸ season-4
TSreport.ts× vigil.toml
vigil›guilds›kestrel›kst-07›report.ts
1import { post } from "@vigil/cli";
2
3// one node, one slot, exact percentages
4export const report = {
5 node: "kst-07",
6 guild: "kestrel",
7 slot: "{{ slot }}",
8 uptime: ,// ⏎ to post
9 missed: {{ missed }},
10};
11
12// hold 99.50 and the streak survives
13post(report).then(r => r.rankDelta);
–□×
{{ l.t }}
kst-07 ~ $
{{ c.sep }}{{ c.t }}
status: {{ statusText }}
{{ d.s }}{{ d.t }}

One report, instant standing

Every submission updates personal streak, guild average and overall rank in the shared table.

{{ s.file }}
{{ s.label }}
{{ s.pre }}{{ s.text }}{{ s.suf }}
{{ s.s1 }}{{ s.l1 }}
{{ s.s2 }}{{ s.l2 }}
roster-sheet.webp — rank table, one full strip above the rule
Roster sheet of node strips; one fully filled strip has slid above the blue rule

Posting a report

01 · report.ts
uptime: 99.86,
missed: 0,

Set today's uptime to exact percentages, two decimals.

02 · terminal
$ vigil post --uptime 99.86
threshold 99.50% ... held

Run the command. The terminal prints each field it changes.

03 · rank.diff
-rank #7
+rank #4 (+3)

Rank deltas publish. The row slides by its delta and the guild steps a rung.

tier-ladder.webp
Stepped tier ladder; one guild block lifts onto the next rung

Six rungs per season

A guild's tier follows its daily average across reported nodes. Clear the next threshold and the block steps up one rung.

{{ t.n }}{{ t.min }}{{ t.who }}
vigil›season-4›day-18›rank-table
slot {{ slot }} closes in {{ countdown }}
rank-table · overall · 10 nodes shown
#nodelast 24 slots · today →uptimestrkΔ
{{ r.rank }}
{{ r.label }}
{{ r.guild }}
{{ r.up }} {{ r.streak }} {{ r.chipText }}
season cut · top 4
order: streak desc, uptime descrank deltas since slot open
post report · kst-07
TSreport.ts
1export const report = {
2 node: "kst-07", slot: "{{ slot }}",
3 uptime: ,
4 missed: {{ missed }},
5};
Terminal{{ statusText }}
{{ l.t }}
kst-07 ~ $
tier-ladder · daily guild averagekestrel {{ kAvgText }}% · tier {{ kTier }}
{{ g.label }}
{{ g.min }}
{{ h.n }}
kestrel{{ kAvgText }}
guild standings · today
#guildavgtierrep
{{ g.rank }}{{ g.name }}{{ g.avg }}{{ g.tier }}{{ g.rep }}
vigil terminal — kestrel
vigil›guilds›kestrel›nodeslive · refresh 1.6 s
{{ s.k }}
{{ s.v }}
>_
{{ n.rank }} {{ n.id }} {{ n.reg }} {{ n.ver }} {{ n.up }} {{ n.d }} {{ n.st }} {{ n.best }} {{ n.hb }}
heartbeat logtail -f kestrel.log
{{ l.t }}
kestrel ~ $
vigil›docs›how-it-works.md

How it works

01 · report

One tick per node per day

Each node posts one status report per slot. A report carries node id, guild, slot date and uptime to two decimals. The tick lands in the last cell of the node's strip.

Daily report tick: green heartbeat cell with blue notch
green cell · slot held
blue notch · report signed
one per node, per slot
02 · streak rule

Hold 99.50% or reset to zero

A report at or above 99.50% extends the streak by one. Anything below records the slot as missed and sets the streak to 0. A slot with no report by close counts as missed.

+uptime 99.86 streak 41 → 42
…
-uptime 97.90 streak 41 → 0
03 · guild average

Mean of reported nodes

The guild average is the mean uptime of every node that has reported in the current slot, in exact percentages. It updates on each report, so the last node in can move the guild across a threshold.

// kestrel, 11 of 12 reported avg = (99.48 × 11 + 99.86) / 12 = 99.51% // clears tier II
04 · rank order

Streak first, uptime second

The overall table sorts by current streak, then by rolling uptime. Every accepted report publishes rank deltas; each row slides by its delta and shows a +N or −N chip until the slot closes. The top four at season close hold the cut.

#nodestrkΔ
3mrd-0247
4kst-0742+3
5bsl-0942−1
05 · tiers

Six rungs, one step per threshold

Tier I ≥ 99.70% · II ≥ 99.50% · III ≥ 99.30% · IV ≥ 99.00% · V ≥ 98.50% · VI below. A guild block moves the moment its daily average crosses a line, up or down.

Tier ladder with one guild block lifting onto the next rung
06 · seasons and share card

30 slots per season

A season runs 30 daily slots. At close, the top four nodes enter the finals bracket and every guild keeps its tier as the starting rung for the next season. Each guild's standing exports as a share card.

share-card · 1200×630
Share card
{{ clock }}
{{ d.glyph }}
season 4 · day 18/30
⌘K
no matching command
↑↓ select⏎ runesc close