Skip to main content
Habits

ArcaQ feature

§1 — What ArcaQ tracks for you

Six dimensions of habit intelligence — all computed on-premise.

Daily / Weekly / Monthly frequencies

Define habits at any cadence. ArcaQ aggregates streaks and completion rates.

Activity heatmap

A GitHub-style heatmap renders your last 90 days — every cell is a real triple in the graph.

Progress bars & streaks

Visual bars show weekly and monthly completion. Streaks are versioned graph assertions.

Categories & facets

Categorise habits and filter the graph view to see domain investment over time.

Sovereign storage

All data stored in Apache Jena Fuseki on-premise. No habit data ever leaves your infrastructure.

Linked knowledge

Tag each habit to related notes, projects or entities and see mastery connections.

§2 — Frequency baseline table

Default cadences shipped out-of-the-box. Customisable via OLM.

DailyWeeklyMonthly
Journal entry, meditation, exerciseDeep review, skill practice, team syncKnowledge audit, goal review, retrospective

§3 — RDF data model

Every habit event becomes a named triple in <arcaq:habits/>.

@prefix arcaq: <http://arcaq.com/> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . arcaq:habits/evt-001 a arcaq:HabitEvent ; arcaq:forHabit arcaq:habits/meditation ; arcaq:byUser arcaq:users/alice ; arcaq:completedAt "2026-05-14T08:15:00Z"^^xsd:dateTime ; arcaq:frequency arcaq:Daily .

§4 — 90-day activity heatmap (demo)

Each cell = at least one completed habit that day — stored as an RDF assertion.

§5 — Nightly batch processing for all collaborators

An Airflow DAG (habits_daily_processor) runs every night at 01:00 UTC and automatically processes every collaborator's habits — no manual intervention required.

All-user discovery

SPARQL query on HABITS_GRAPH discovers every user who owns at least one habit — new collaborators are picked up automatically on their first day.

Streak computation

Current streak and longest streak are recalculated for daily, weekly and monthly habits and written back as arcaq:currentStreak / arcaq:longestStreak RDF properties.

Missed-day marking

Any habit without a log for the elapsed period (yesterday / last week / last month) receives an automatic doneBool=false entry so the heatmap shows real gaps, never blank cells.

Team Pulse digest

Aggregate counts (total habits, top streak, active habits) are pushed as arcaq:HabitDigest events to BRAIN_EVENTS_GRAPH — visible in Team Pulse without exposing individual habit details.

Get started