7
Snapshots this month
Four delivered, two in capture, one blocked on the rules scan.
2.1 days
Median lead to delivery
Against the 3 to 5 day standard in the production SOP.
Aug 1 to 15
Current payroll period
Draft. Blocked at the rate-table gate, by design.
2
Release gates open
One is a card. One is a signature. Neither is engineering.

Recent Visibility Snapshots

Open module
ClientPatternStatusUpdated
Catigan Mountain BreezeResort · Davao City B · Category-led Delivered 2 days ago
Briones EyeEye surgery · Davao City A · Profession-led Delivered 5 days ago
Petcura Animal ClinicVeterinary · Davao City A · Profession-led Awaiting captures 6 hours ago
Sunrise Dental StudioDental · Tagum City A · Profession-led Generating 4 minutes ago
Kanto Kape RoastersSpecialty coffee · Davao City B · Category-led Rules scan failed 1 hour ago

Release gates

What is actually holding this up.

Neither gate is an engineering problem, which is why neither closes faster with more engineers.

  • Anthropic API key and spend cap Blocks Snapshot generation entirely. There is no key on the organisation today. Owner: Patrick.
  • Statutory rate tables and sign-off Blocks payroll release. Tables ship empty on purpose. Owner: Andrei, People and Culture.
  • Hours source of truth Decision, not a build. Manual entry and CSV work from day one. Plutio is the short path.

Payroll

Current period, at a glance.

Employees

3

Labour Code payslip. Statutory contributions and withholding computed and deducted.

Contractors

4

Remittance advice. Hours, rate, gross fee. The contractor carries their own taxes.

Run state

Draft

Cannot lock. Rate tables unpopulated, and that is the correct behaviour.

Open the payroll module

Preparer, approver, and releaser are enforced as different actors · Runs are immutable once locked · Every rate traces to a dated table row

Architecture

Where the model works, and where it does not.

The single most important line in the build: Claude returns data, deterministic code renders documents, and nothing statutory is ever computed by a model.

Module one · Visibility Snapshot

  1. Intake formBusiness development enters the client, the city, the industry, and the public surfaces.
  2. Claude returns JSON, never codeStructured output against the schema already documented in client-data-template.md. Query pattern selection, priority cards, observations, and copy in brand voice.
  3. Deterministic renderpptxgenjs draws the 16 slides. Slide 14 pricing is asserted against the service catalog and the render fails on drift.
  4. Hard-rules scan, in codeZero em dashes, no banned vocabulary, every query matching one of the three approved patterns. A failure blocks the download.
  5. Three captures stay humanGoogle will not serve a Davao local pack to a headless browser. The deck ships with paste zones and the exact URLs.

Module two · Payroll

  1. Hours inManual entry with a reviewer, CSV import with a dry run, or an API pull once a source of truth is chosen.
  2. Engagement type decides the documentAn employee receives a payslip. A contractor receives a remittance advice. The wrong pairing is not expressible.
  3. Rates are dated data, not codeA payslip reissued in 2029 recomputes at the rates that actually applied in 2026.
  4. Separation of duties in codeOne actor cannot prepare, approve, and release the same run.
  5. Parallel run before anyone relies on itOne full period reconciled to the peso against the manual computation. Standard practice, not optional.
Why this demo blocks things on purpose A plausible-looking contribution rate that nobody verified is worse than a blocked screen, because the blocked screen tells the truth. Every gate you see here is deliberate and documented in operations/4GC-Internal-Portal-Build-Assessment.md.
Fourth Ground Consulting · Internal Operations Portal · Presentation-only demo, August 2026
Palette and typography per CLAUDE.md §2. Density tightened deliberately: this is a tool, not a marketing surface.
Staging Environment Fourth Ground Consulting