Commit Heatmap
Range shown below. Active days are clickable.
Halliday's Legacy v11.4.1 | Accessing Core System Logs
A simple view of when commits happened. Darker squares mean more commits. Click any active day to see its hourly pattern.
Snapshot pending
Range shown below. Active days are clickable.
Waiting for activity data...
Small charts for hour, weekday, and time-block trends.
Plain-language highlights from the full commit timeline.
Full commit DAG with branches, merges, and restore/revert trail.
Loading colorful branch graph...
* Commit node
| Parent line continues
/ or \ Branch split
or merge path
(HEAD -> ...) Active branch and
attached refs
Welcome to the OASIS Documentation Portal. This terminal tracks the evolution of the Halliday test environment, providing detailed logs of simulation protocols, security patches, and interface refinements.
QUIZ REVIEW RAIL MINIMAL MODE: Replaced boxed question chips with number-only navigation for a cleaner, less noisy review header.
STATUS-FIRST LEGIBILITY: Increased number emphasis and retained per-status color signaling so correct, wrong, skipped, and pending states stay instantly readable.
EDGE CONTINUITY SMOOTHING: Replaced hard side boundaries with smooth rail fade treatment to remove abrupt transitions while scrolling question indices.
XP PROTOCOL COVERAGE: Added deterministic unit assertions for standard, speed multiplier, and difficulty weighted XP breakdown behavior.
LEADERBOARD IMPACT GUARDS: Added explicit test coverage for full vs none leaderboard impact adjustments and delta reconciliation outputs.
EDGE CASE SAFETY: Added assertions for forfeit marker logged-XP precedence and all-skipped forced-zero final XP handling.
IMPORT VALIDATION COVERAGE: Added unit tests for schema/session/tournament mismatches and duplicate response pair detection in text grading imports.
MISSING-PAIR POLICY ASSERTIONS: Added strict vs fill-missing validation checks to ensure missing response pairs are errors or warnings by policy.
PARSING PATH TESTS: Added unit coverage for fenced JSON import parsing and normalized payload shape handling for marks ingestion.
MODE RULE TEST COVERAGE: Added unit assertions for navigation mode normalization, preset fallback behavior, and runtime flag derivation.
XP TOGGLE SAFETY:
Added explicit coverage for xpByType and legacy xpByQuestionType alias mapping.
HARNESS PARSER HARDENING: Improved function extraction in the test harness to handle default-parameter object literals without syntax breaks.
UNIT HARNESS FOUNDATION:
Added a dedicated tests/unit harness that can extract runtime symbols from public/js/main.js for deterministic testing.
VALIDATION PIPELINE EXPANSION: Updated default validation flow to run smoke and unit test suites in sequence.
STEP TRACKING READINESS: Added a documented execution tracker for the test+tournament upgrade plan with per-step completion checkpoints.
ADMIN CLEANUP CONTROL: Added an ADMIN-only quiz review action to delete imported text grading marks from a saved session.
XP RECOMPUTE SAFETY:
Deletion now clears the stored textGrading payload and recomputes persisted log XP without imported text marks.
TEST + DOC ALIGNMENT: Extended smoke coverage for the new delete control/handler and refreshed active runtime/documentation version markers.
ALERT-STATE ROTATION CONTROL: Header notification trigger animation is now tied directly to live hub alert totals so rotation runs only when unresolved alerts exist.
IDLE RETURN WHEN CLEAR: Trigger automatically returns to idle when all pending/tests/assigned counters reach zero.
UI SIGNAL CLARITY: Reinforced high-signal state behavior so spinning icon consistently means actionable alerts are present.
ACTIONABLE HUB QUICK-OPEN: Wired all notification hub categories to real destinations so pending tasks, today's tests, and assigned tasks open directly into the relevant surface.
FULL-CARD INTERACTION UX: Replaced per-row `[ OPEN ]` buttons with full-row clickable cards for faster pointer and keyboard flow in the notification hub.
CATEGORY + DOCS REALIGNMENT: Removed `Other Alerts` from live hub totals and grouped internal release markdown files into numbered `docs/change-notes` documentation.
HEADER NOTIFICATION HUB: Added a custom top-bar notification hub icon and panel with categorized visibility for pending tasks, today's tests, assigned tasks, and other alerts.
LIVE AGGREGATION: Wired category counters and aggregate badge rendering to existing runtime sync state without adding extra Firestore listeners.
ACCESSIBILITY + INTERACTION POLISH: Added outside-click close, `Esc` close, focus restore, ARIA linkage, and non-zero visual state styling for stable keyboard/pointer behavior.
STARTUP HYDRATION GUARDRAILS: Added initial server-hydration render gating to prevent stale XP and leaderboard values from flashing during page refresh/open.
IMMEDIATE FIRST RESYNC: Removed delayed initial sync kickoff and now trigger authoritative server refresh immediately after sync startup.
SHUTDOWN LABEL CACHE WARMUP: Cached countdown label state is now applied at boot so custom admin label text does not briefly revert to default.
ADMIN-EDITABLE COUNTDOWN LABEL: Added a dedicated shutdown label control so ADMIN can update `SYSTEM_SHUTDOWN_IN:` text at runtime and persist it in the shutdown config document.
LIVE LABEL SYNC: Countdown label now hydrates from Firestore snapshot updates and applies instantly for connected users.
TYPOGRAPHY LEGIBILITY TUNING: Updated countdown label font styling for clearer character distinction and slightly larger readability.
REMINDER TIMING GUARDRAILS: Added strict stale-window checks in dispatcher so expired `T-minus` reminder jobs are not sent late.
DEADLINE TIMESTAMP NORMALIZATION: Tournament start/deadline flows now persist ISO timestamps consistently, preventing timezone parsing drift for reminder anchors.
DISPATCH THROUGHPUT TUNING: Updated scheduled dispatch workflow defaults to a larger batch window for faster queue drain and reduced lag.
COMPREHENSIVE ROOT README: Added a detailed repository README covering architecture, setup, operations, data model, and notification/reminder flow.
ONBOARDING COVERAGE EXPANSION: Included script references, CI/workflow behavior, deployment notes, and operational command examples in primary project documentation.
WEBSITE REFERENCE INCLUDED:
Added explicit production link reference for https://oasisquests.tech in project documentation.
DOCUMENTATION TIMELINE SYNC: Updated the portal changelog with missing release entries for the recent notification and reminder policy rollout series.
VERSION HEADER REALIGNMENT: Advanced the documentation header and active version markers so the docs reflect current runtime release state.
CHANGELOG CONTINUITY:
Preserved historical entries while restoring chronological continuity from v10.14.7 through latest.
ALERT CONTROL VIEWPORT FIT: Reworked the admin alert-control modal to stay within viewport height, with internal scrolling for long policy content.
CURRENT CONFIG SUMMARY: Added a live "WHAT ARE CURRENT CONFIGURATIONS?" block that reflects the effective reminder policy while editing.
RELEASE MARKER UPDATE:
Updated runtime and documentation markers to v10.14.12 for this admin UX patch.
REMINDER PHASE CLOSURE: Finalized end-to-end reminder push validation and closed the admin reminder roadmap phase.
OPERATOR DOCS EXPANSION: Updated QA runbook and release notes with reminder policy operations, `T-minus` checks, and dedupe verification steps.
RELEASE MARKER UPDATE:
Updated active runtime and documentation markers to v10.14.11.
DEADLINE-BASED UPCOMING REMINDERS:
Added `T-minus` scheduler windows where T = test end/deadline for upcoming reminder push jobs.
TOURNAMENT + CALENDAR ANCHORS: Added tournament deadline and calendar-assignment end-time evaluators with policy-based lead windows and tolerance handling.
DEDUPE CONTRACT: Added deterministic upcoming reminder queue IDs per user/event/lead window.
PENDING TASK SLOT SCHEDULER: Added pending-task reminder queue generation for configured daily slots.
PUBLIC + PRIVATE PENDING COVERAGE: Included both public pending tasks and private tasks owned by the target role in reminder aggregation.
SLOT DEDUPE IDS:
Added deterministic IDs in the pattern reminder_pending_{uid}_{date}_{slot}.
ADMIN REMINDER POLICY PANEL: Added reminder policy controls to the admin alert composer for pending slots, `T-minus` lead windows, tolerance, channel, timezone, and limits.
PERSISTENCE FLOW:
Added load/save pipeline to oasis_notification_policy/reminder_push with client-side validation and modal status feedback.
RELEASE MARKER UPDATE:
Updated runtime and documentation markers to v10.14.8.
REMINDER POLICY CONTRACT:
Added secure Firestore contract for admin-managed reminder policy docs at oasis_notification_policy/reminder_push.
RULES GUARDRAILS: Added admin-only CRUD and shape validation guardrails for policy fields including pending slots, lead windows, timezone, tolerance, and limits.
RESTRICTED PATH HARDENING: Added reminder policy collection to restricted fallback exclusions in Firestore rules.
FIRESTORE NESTED-ARRAY GUARD:
Added an explicit generation rule that forbids array-inside-array values in coding.testCases so prompt output stays Firestore-safe by default.
CODING CONTRACT TIGHTENING: Strengthened coding prompt constraints with a dedicated Firestore array gate and compliant example patterns for matrix-like inputs encoded as strings or objects.
RELEASE MARKER UPDATE:
Updated active runtime and documentation markers to v10.13.2 for this Firestore-compatibility patch release.
SKIPPED-ONLY XP GUARD:
Added a scoring safeguard so attempts with only skipped questions now resolve to 0 XP instead of carrying a negative value.
LOG RECONCILIATION HARDENING: Added normalization for existing tournament logs so skipped-only result sets cannot persist stale non-zero XP entries.
RELEASE MARKER UPDATE:
Updated active runtime and documentation markers to v10.13.1 for this scoring stability patch.
COLOR DAG GRAPH: Replaced the plain-text git log block with a true SVG commit DAG that renders branch lanes, merge paths, and line continuity in color.
BRANCH EVENT TELEMETRY: Expanded repository snapshot generation to publish commit-parent structure, scoped hash sets, branch heads, and merge/restore metadata for richer timeline interpretation.
RELEASE MARKER UPDATE:
Updated active runtime and documentation markers to v10.13.0 for this visualization-focused minor release.
MONACO LOADER RESILIENCE: Replaced static Monaco script tags with a runtime loader and automatic compatibility textarea fallback so coding flows still work when CDN loading is blocked.
JAVASCRIPT WORKER HARDENING: Switched JavaScript test execution to blob-based worker script loading, validated function entry names, and improved serialization safety when posting run results.
PATCH RELEASE ALIGNMENT:
Updated active runtime and documentation markers to v10.12.1 for this compatibility and execution reliability patch.
SMOKE TEST BASELINE: Replaced the placeholder test command with executable smoke coverage for login wiring, quest render wiring, and tournament flow hooks.
CI PIPELINE ENABLED:
Added a GitHub Actions workflow that runs npm ci and npm test on every push and pull request to catch regressions automatically.
QA RELEASE ALIGNMENT:
Updated runtime and documentation markers to v10.12.0 to mark testing and CI as first-class release capabilities.
COGNITIVE OVERVIEW RETIREMENT: Removed the unfinished home-surface cognitive overview module so the main dashboard no longer ships hidden placeholders.
DEAD CTA CLEANUP:
Removed the unreachable reinforcement trigger bound to startSurgicalReview() to eliminate a broken interaction path.
RUNTIME MARKER UPDATE:
Updated active interface and prompt version markers to v10.11.6 to reflect this patch release.
REPOSITORY ACTIVITY DASHBOARD: Added a GitHub-style commit heatmap at the top of the documentation page with per-day drilldowns so repository activity is visible without leaving the site.
VISUAL PATTERN CHARTS: Added quick-read hour, weekday, and time-block charts so busiest periods and commit distribution can be understood at a glance.
SIMPLIFIED TELEMETRY LAYOUT:
Reworked the documentation analytics copy, rankings, and selected-day summary into a cleaner top-of-page release panel and synced active runtime version markers to v10.11.5.
MATH ENVIRONMENT RECOVERY: Repaired malformed AI-generated LaTeX for aligned equations, matrices, arrays, cases, and column vectors so simulation prompts normalize into valid display math before render.
STRUCTURED FALLBACK RENDERING: Expanded the local math fallback to render aligned systems, augmented arrays, and piecewise cases cleanly whenever KaTeX rejects broken source instead of exposing raw \begin...\end tokens in the UI.
REFERENCE CALENDAR MOBILE SCROLL REPAIR: Reduced the mobile calendar footprint, restored vertical scrolling inside the month grid, and kept horizontal scroll available so lower weeks stay reachable instead of freezing inside the modal.
VIEWPORT CONTAINMENT REFINEMENT: Added responsive scroll-height caps, touch-friendly overflow behavior, and narrower mobile grid widths so the reference calendar stays usable on smaller screens without clipping the day panel.
LATE CLEAR WINDOW TIGHTENING: Reduced late clear eligibility to a single extra day, changed the carryover reward to 50 XP on that next day and 0 XP after, and simplified the late-clear info prompt down to the exact XP message shown beside the status chip.
STREAK + ARCHIVE INTEGRITY: Kept overdue unfinished tasks actionable for the owning player, restored archived state for already-cleared past tasks, preserved the undo arrow for true late clears, and stopped broken streaks from being rebuilt by completing older missed work later.
LEGACY KONAMI CLEANUP: Removed remaining runtime Konami theme handling, stripped old theme selectors, and automatically filters any leftover Konami/Easter Egg quest rows out of synced quest documents so they no longer resurface in the log.
REFERENCE CALENDAR LAYOUT REPAIR: Contained the month grid inside the calendar shell again so date cards stay visible, kept the date cells dot-only, and added responsive horizontal scrolling plus stacked panels for smaller screens instead of letting the layout break.
ASSIGNMENT DETAIL POLISH: Added copy-ready syllabus panels with inline copy actions, moved the logged-in player's assignment card to the top of the selected-day stack, and gave admin a one-click next-day replication flow for daily planning continuity.
TRIGGER REFRESH: Replaced the boxed calendar launcher with a larger, subtler line-based trigger mark so the header control fits the OASIS HUD without pulling focus away from the scoreboard.
PLAYER ASSIGNMENT CALENDAR WORKFLOW: Reworked the reference calendar editor into fixed Arjun, Janak, and Rajkumar assignment tabs so admin can plan test-making ownership per day without touching tasks or tournaments.
SUBJECT + MODE ASSIGNMENT FIELDS: Each player slot now stores a subject dropdown choice, a test-mode dropdown choice, and syllabus notes in isolated reference-calendar data for simple planning-only visibility.
PLAYER COLOR VIEW MODE: Calendar days and detail cards now show only player, subject, and test mode, while reusing the existing task player colors instead of subject-based coloring and keeping syllabus hidden from the public calendar view.
REFERENCE CALENDAR LAUNCH: Added a new header calendar entry that opens a month-view reference board for tests, timetable notes, and upcoming study items without touching tournament runtime logic.
ADMIN SCHEDULE AUTHORING: Admin can now write plain-text entries per day with independent subject names, color dots, short notes, and full syllabus text inside a dedicated editor workflow.
DAY TO SUBJECT DRILLDOWN: Users can open a day, inspect each color-coded subject note, and then click into the exact syllabus text for that subject as a simple reference layer.
ADMIN DATE OVERRIDE RECOVERY: Removed the admin timestamp guard that blocked unresolved tasks, so admins can now repair a player's completion date without requiring a prior user toggle.
COMPLETION STAMP REPAIR: Admin corrections now initialize missing completion maps, mark the selected player complete, and store the repaired timestamp together so status dots, history, and scoring remain aligned.
LOCAL DATE DEFAULTING: Timestamp repair prompts now prefer the existing local completion day when present, or today's local date when a missing stamp is being reconstructed.
NESTED CIRCUIT RENDERING PATCH:
Reworked the circuit DSL parser and SVG renderer to support nested series: and parallel: subcircuits without leaking raw DSL tokens into question content.
OMEGA SYMBOL NORMALIZATION:
Normalized inline \Omega-style symbols in circuit labels, prose, and fallback math rendering so resistance values display as Ω across the simulation UI.
GROUND USAGE GUIDANCE:
Updated circuit authoring and prompt rules to omit ground from basic closed-loop series/parallel questions and reserve it for reference-node analysis such as nodal, Thevenin, and Norton problems.
SPARK-COMPATIBLE DEPLOY FLOW:
Removed Functions deployment from Firebase configuration so standard deploys now work on Spark with hosting and firestore only.
FUNCTIONS DECOMMISSION: Decommissioned callable backend artifacts and shifted tournament finalization to client-side Firestore writes with existing idempotent log IDs.
SCORING PAYLOAD HARDENING: Preserved custom scoring metadata in pending submit/forfeit payloads and recovery paths so XP and analysis records remain consistent after refresh or reconnect.
CANONICAL DOMAIN ENFORCEMENT:
Added early host guard scripts across all primary entry pages to enforce oasisquests.tech as the only production access domain.
HOST REDIRECT CONSISTENCY: Standardized redirect behavior for non-canonical hosts while preserving full path, query, and hash continuity during navigation handoff.
LOCAL DEV SAFETY:
Whitelisted localhost and 127.0.0.1 so local simulation and UI testing workflows remain unaffected.
SERVER-SIDE TOURNAMENT FINALIZATION: Added callable backend finalization flow for tournament attempts with transactional write guarantees and canonical log ownership validation.
IDEMPOTENT CLIENT SYNC PIPELINE:
Integrated stable clientWriteId handling in submit/forfeit pending payloads and recovery paths to prevent duplicate or dropped analysis records.
SERVER SOURCE RESYNC RECOVERY: Added hard server refresh utility for quests, tournaments, and tournament logs to recover quickly from stale cache states without losing current user progress.
TOURNAMENT RECOVERY UTILITIES:
Added getPendingTournamentWriteForRole() to retrieve unified pending tournament operations and clearTournamentCompletionMarkerForRole() for precise completion tracking cleanup.
TOURNAMENT ROLE NORMALIZATION: Enhanced pending tournament forfeit and submit recovery with strict role normalization checks, ensuring cross-user role switching no longer leaves orphaned pending operations.
PENDING OPERATION STABILITY: Improved pending tournament write recovery by normalizing roles at retrieval time and enforcing multi-level safeguards on tournament ID and role ownership validation.
TOURNAMENT LOG SYNC ARCHITECTURE: Moved tournament attempt logs into a dedicated Firestore collection with runtime migration support, shrinking quest-day payloads and improving cross-user sync responsiveness.
FIRESTORE CACHE MODERNIZATION:
Replaced deprecated enableMultiTabIndexedDbPersistence() usage with initializeFirestore(...persistentLocalCache) multi-tab configuration.
UI STABILITY & ENCODING CLEANUP: Resolved Monaco/KaTeX loader collision, restored emoji rendering in streak and summary UI, and tightened unload guards for pending local edits.
OFFLINE TASK TOGGLE QUEUE: Implemented localStorage-backed outbox for task completion toggles when offline, with automatic retry and deduplication. Supports up to 120 queued operations with 7-day expiration.
CONNECTION STATUS INDICATOR: Added live connection state display in footer showing ONLINE/OFFLINE status with pending sync count and visual indicators (green = synced, amber = syncing, red = offline).
AUTO-SYNC RECOVERY: Task toggles made offline are automatically flushed to Firestore when connection is restored, with in-flight write tracking and optimistic UI updates.
HOST CANONICAL REDIRECT:
Added canonical host routing so oasisquests.web.app and
oasisquests.firebaseapp.com automatically redirect to
oasisquests.tech while preserving path, query, and hash.
ADMIN SHUTDOWN TIMER CONTROL: Added admin controls to set system shutdown datetime and toggle countdown visibility globally from the live header bar.
REPLICATION UX & OVERWRITE BEHAVIOR: Replication modal now fits viewport reliably, quick and range cloning show live progress, and overwrite mode now replaces target-day tasks exactly with cloned tasks before closing the modal on completion.
ARCHIVE ORDERING FIX: Previous Tournament cards now prioritize the most recent completion/attempt time for the active player, with deterministic fallback ordering for scheduled/given tests.
QUEST LOG TIMELINE FOCUS:
Opening [ VIEW FULL LOG ] now focuses on today's day entry and scrolls
inside the timeline container only, preventing full-page jump behavior.
UI CONSISTENCY PATCHES: Daily progress pips now reflect each player's latest acquired key tier (copper/jade/gold-tier), and the footer logout control keeps its intended red state across matrix/konami theme shifts.
DOMAIN-SEPARATED PROMPT GENERATION:
Added dedicated prompt domain controls for AUTO, MATH, and
PHYSICS, with explicit domain-specific generation rules so physics and
mathematics prompts remain cleanly separated.
PHYSICS CIRCUIT ENFORCEMENT CONTROL:
Introduced a physics circuit-control toggle that forces
[[circuit: ...]] blocks for circuit-focused topics and injects explicit
enforcement directives into generated physics prompts.
TOURNAMENT MODE VISIBILITY: Tournament cards now display the active mode label using mode ID/name fallbacks, so current and archived tournaments both expose mode context directly in the sidebar.
JSON IMPORT BACKSLASH AUTO-REPAIR:
Hardened AI JSON import parsing to auto-escape invalid backslashes inside string values,
recovering malformed math payloads such as raw \Omega and similar LaTeX
escapes that previously caused parse failures.
PROMPT JSON GUARDRAILS:
Expanded prompt-builder constraints for math-heavy JSON generation with explicit
forbidden raw escape sequences and required doubled forms (for example
\\Omega, \\begin, and \\end).
PARSE FAILURE DIAGNOSTICS: Import error feedback now appends parser detail messages so malformed payloads can be identified and corrected faster from the admin interface.
PHYSICS CIRCUIT DIAGRAM BLOCKS: Added inline circuit rendering with SVG-backed symbols for batteries, cells, resistors, capacitors, inductors, switches, lamps, ammeters, voltmeters, diodes, LEDs, and ground directly inside quiz questions and MCQ options.
SERIES / PARALLEL CIRCUIT DSL:
Introduced [[circuit: ...]] authoring support with series:
chains joined by -> and parallel: branches joined by
||, allowing AI-generated and manual physics questions to describe
circuits without changing the underlying question schema.
PROMPT & IMPORT SUPPORT: Updated the admin encoder, import guidance, and JSON prompt builder so physics prompts can request circuit diagrams alongside KaTeX formulas in the same question payload.
GENERAL LATEX FALLBACK SUPPORT: Expanded the local math fallback renderer so formulas still display when KaTeX is not available, covering fractions, square roots, summation, limits, integrals, trig functions, Greek symbols, scripts, and operator glyphs.
DEGRADED-NETWORK RESILIENCE: Math-heavy questions now remain readable even when CDN-loaded KaTeX assets fail to load, reducing raw LaTeX leakage in quiz, review, and read-only screens.
FALLBACK STYLING: Added dedicated CSS primitives for fractions, radicals, operators, and superscript / subscript layouts so the non-KaTeX render path remains legible and structured.
MATH QUESTION RENDERING: Added KaTeX-backed rendering for mathematical notation in MCQ, text, simulation, and review flows, allowing formulas, matrices, determinants, and vectors to display in the live test interface.
FALLBACK PARSER HARDENING: Reworked the math rendering pipeline to normalize malformed AI/JSON LaTeX, repair common matrix environment damage, and correctly render compound expressions containing multiple matrices in a single prompt.
AUTHORING & IMPORT GUIDANCE: Updated the prompt builder and import instructions so AI-generated JSON now explicitly uses KaTeX-compatible LaTeX with properly escaped backslashes for reliable rendering.
FIRESTORE OFFLINE PERSISTENCE: Enabled Multi-Tab IndexedDB persistence across `main.js` and `simulation.html`. The application now fully caches database operations locally, allowing for instant network-free UI rendering on reload and dramatic load speed improvements.
PERFORMANCE & ASSETS: Added font preconnect headers and deferred critical render-blocking JS (Monaco, Phosphor). Removed empty asset folders and `concept-mastery.js` dead code entirely.
DOM RENDERING SAFETY: Re-authored error boundaries in `practice.html` to append DOM nodes safely, patching a severe innerHTML destructive rendering bottleneck.
MATRIX LEADERBOARD DECOMMISSION: Removed the Matrix Leaderboard view and entirely cleaned up associated code, shortcuts, and dead execution functions.
GENERAL CLEANUP: Heavily cleaned up noisy debug console logs in the codebase.
COURSE SYSTEM DECOMMISSIONING: Retired the course library and content reader infrastructure including dedicated reader pages and associated logic.
RESOURCE OPTIMIZATION: Removed redundant PDF assets and associated reader logic to streamline the codebase.
UI SIMPLIFICATION: Cleaned up navigation indices and removed the legacy 'crs' shortcut system.
CHALLENGE SYSTEM REMOVAL: Retired the challenge/duel surface completely by removing challenge entry points, dedicated challenge pages, and challenge runtime orchestration from core app flow.
XP ACCOUNTING CLEANUP: Excluded legacy duel settlement rows and challenge tournament traces from leaderboard/timeline XP calculations to ensure only active tournament systems affect rank totals.
SIMULATION FLOW SIMPLIFICATION: Removed duel-specific in-quiz sync/progress plumbing and preserved a single tournament execution pathway for stable maintenance.
TAILWIND CSS CLI MIGRATION: Successfully migrated the entire project from Tailwind CDN to a local production-ready build process using the Tailwind CLI. Fixed production console warnings and optimized styling performance.
STYLE STABILITY:
Updated input.css and output.css with explicit
content scanning sources to ensure all utility classes remain accessible
without CDN reliance.
CONCEPT & REASONING PROMPTS: Updated the AI generation prompt engine across courses and tournaments to ensure generated questions evaluate deep conceptual understanding and focus on edge cases, logical thinking over formula recall.
VERSION SYNC:
Updated active runtime/version markers and prompt persona text to
v8.9.2
across primary entry surfaces and generation tooling.
PRACTICE ARENA OVERHAUL: Unhid the Practice Arena interface, rewrote legacy HTML for stability, and bound past tournaments to automatically list inside the Arena.
ZERO XP PRACTICE MODE: Added URL parameter overrides so clicking "PRACTICE >>" simulates the tournament locally without reporting XP changes to Leaderboards or Quest Logs.
STARTUP CRASH FIXES:
Hardened main.js initialization sequence to prevent rendering crashes
on incomplete DOM surfaces like the Practice Arena.
FUNCTION WORKSPACE FRAMING: Added coding function workspace structure with dedicated Header Snippet and Footer Snippet lanes, plus a focused Program panel to make function-mode execution context explicit.
QUIT FLOW + XP ACCOUNTING FIX: Replaced browser quit confirmation with inline modal UX, and hardened tournament XP parsing so negative XP consistently affects leaderboard totals and XP history breakdowns.
TEST READABILITY PASS: Removed Execution Preview (Checker Call) from question IO panels, and upgraded simulation typography + mobile text scaling for better readability on small-screen devices.
VERSION SYNC:
Updated active runtime/version markers and prompt persona text to
v8.9.0
across primary entry surfaces and generation tooling.
MODE-LEVEL TAB SWITCH POLICY:
Added ALLOW TAB SWITCH to mode configuration so selected modes can
bypass
focus-loss auto-submit enforcement while strict modes keep protection active.
HOME SURFACE TEMP HIDE + TYPE NAV:
Temporarily hid Courses and Practice Arena entry panels, and added keyboard
shortcuts:
crs to open Courses and prac to open Practice.
CSS/HTML CHALLENGE VALIDATION HARDENING: Updated coding prompt/testcase schema and runtime displays to use DOM-assertion criteria for HTML/CSS without exposing raw expected solutions in preview panels.
VERSION SYNC:
Updated runtime/version markers and prompt persona text to v8.8.0
across
primary entry surfaces and generation tooling.
FOCUS POLICY ENFORCEMENT: Added strict simulation integrity handling with a maximum of 3 tab/focus changes and a 10-second return window per switch.
ACKNOWLEDGMENT WARNING DIALOG:
Upgraded the warning notification into a larger on-screen alert requiring explicit
[OK] acknowledgment before resuming the question flow.
AUTO-SUBMIT WITH PRESERVED ANSWERS: On focus-limit violation, the test now auto-submits using already marked answers instead of forced zero-forfeit, and opens review with computed results.
CODING CHECKER EXECUTION PREVIEW: Added a dedicated execution panel in simulation coding mode that shows how the checker calls submitted code for FUNCTION and STDIO challenges.
FUNCTION INPUT NORMALIZATION FIX: Corrected single-parameter function parsing so JSON-array inputs are treated as one argument when appropriate, aligning preview and runtime execution behavior.
VERSION SYNC:
Updated active runtime/version markers to v8.7.2 across core entry
surfaces and
prompt generation text.
PDF COURSE WORKBENCH: Introduced a semi-automated "Course Workbench" for generating structured learning paths from PDF books using AI prompt orchestration.
SMART JSON IMPORT: Implemented a robust JSON importer that handles diverse AI outputs, auto-calculates course metadata, and integrates directly into the Admin library.
NAVIGATION GUARD & AUTO-SAVE: Added a session-persistence guard that prevents orphans by ensuring new course data is saved to Firestore before the reader is launched.
VIDEO LEARNING MODE (SEGMENTED):
Added dedicated video-reader.html with left video stage, right
interaction
panel,
and bottom mastery timeline designed around short enforced learning segments.
CHECKPOINT + REFLECTION LOCKS:
Implemented mandatory pause checkpoints (predict/think/apply/retrieve)
with
typed responses, segment unlock gating, reflection lock completion criteria,
playback speed
guardrails, and progress persistence in Firestore.
ADMIN VIDEO AUTHORING + VERSION SYNC:
Extended course admin editor for video segment metadata
(endTime/difficulty/concepts/checkpoints)
and synced active runtime/version markers to v8.5.0 across UI and
generation
prompt surfaces.
BOOK READING MODE (3-PANEL):
Added dedicated book-reader.html flow with chapter navigator,
distraction-lite
reading canvas, and a right-side thinking panel for active cognition.
STRUCTURED ENGAGEMENT LAYER:
Implemented highlight tagging (Core Idea/Confusing/Question/Insight),
anchored notes, recall checkpoint modal, connections prompts, summary compression,
and
chapter unlock gating by recall+summary+minimum engagement time.
ANALYTICS + VERSION SYNC:
Added reading analytics (focus time, reflection time, recall words, concept density,
revisit frequency), persisted progress to Firestore, and synced active runtime
markers to
v8.4.0 across primary UI/prompt surfaces.
TOURNAMENT LOG LOOKUP FIX:
Replaced fragile local tournament-log lookup shadowing with unified
findTournamentLogByIdAndRole usage in sidebar and review paths to avoid
stale/missing completion detection.
XP DELETE FLOW HARDENING:
Admin XP deletion now runs under a guarded try/catch write path so
failed
Firestore updates do not silently desync local task state.
VERSION SYNC:
Updated active runtime/version markers to v8.3.2 across HUD and
generation
prompt surfaces.
TOURNAMENT XP PURGE RELIABILITY: Admin purge now hard-removes tournament/challenge settlement log rows instead of only toggling completion flags, so XP is actually removed from leaderboard and history.
DELETED TOURNAMENT CLEANUP PATH:
Deleting a tournament now cascades cleanup of linked tour_log_* records
and
added orphan-log purge helpers for global and per-day database cleanup.
SUMMARY VIEW FILTER CORRECTION:
Day+user summary now hides unrelated deleted/orphan tournament rows that were
appearing as
misleading PENDING entries.
TOURNAMENT-ONLY MODE SNAPSHOTS: Challenge mode selection now resolves only from modes that exist in real created tournaments, removing extra snapshot noise from deploy flow.
MULTI-TARGET DUEL DEPLOY: Added parallel challenge contract deployment to multiple selected players in one action, with aggregate stake lock validation before dispatch.
STAKE SETTLEMENT + SYNC START: Winner/loser stake transfer now writes into XP history tasks for leaderboard parity, and accepted duels start under synchronized unlock timing for all participants.
DUEL MATRIX PAGE MIGRATION:
Moved DUEL MATRIX // CHALLENGE CONSOLE from index modal flow into a
dedicated
page at challenges.html for better visibility, scale, and RP1 console
focus.
LIVE CHALLENGE OPERATIONS: Added standalone challenge runtime with live Firestore sync for deploy, accept, reject, cancel, active duel tracking, and direct duel-entry routing from one unified surface.
ROUTING HANDOFF + COMPATIBILITY: Updated profile-card and header challenge actions to route into the new page while preserving tournament-level duel compatibility and existing challenge data contracts.
CUSTOM MARKING CONTROLS:
Added editable scoring marking fields (+XP / -XP) with
custom-mode auto-switch and live preview synchronization in tournament setup.
TIMER-DERIVED DURATION:
Duration now auto-derives from TIME / QUESTION and question count with
one-minute precision for short formats (example: 10s x 6 = 1 min).
RUNTIME SCORING PARITY: Extended simulation scoring profile resolution to consume stored custom XP fields while preserving backward compatibility with legacy tournament documents.
SCORING PROTOCOL ORCHESTRATION: Relocated the Scoring Protocol selection directly to the main tournament configuration HUD, ensuring it is always visible and contextually aligned with Scoring Marking.
LIBRARY LOCK ENFORCEMENT: Implemented a security protocol that locks all internal scoring parameters (Protocol, Marking, XP values) when a verified library mode is engaged, preventing accidental mutations.
PRESET DATA SYNC: Updated the entire mode preset and profile matrix to include explicit scoring metadata, guaranteeing consistent pre-selection and runtime behavior across all sectors.
OPTIMIZED ARCHIVE VIEW: Step 3 now exclusively displays the Mode Archive grid by default, providing a cleaner interface for rapid selection.
MANUAL OVERRIDE TOGGLE: Configuration fields and Protocol IDs are now hidden by default and only revealed when creating a [NEW SECTOR] or selecting [EDIT] on an existing protocol.
SELECTION HANDOFF: Unified the selection flow to load protocols and immediately expose final simulation actions ([BUILD PROMPT], [ENCODE DATA]), skipping redundant field reviews.
DYNAMIC TOURNAMENT DEADLINES: Implemented "Until All Players Finish" logic. Tournaments now dynamically archive once all selected users (excluding ADMIN) have completed their attempts.
WIZARD UI REFINEMENT: Automated metadata synchronization (Subject, Topic, Difficulty, Question Count, and Types) between the Tournament Wizard and AI Prompt Builder.
v8.12.0 across core UI modules and prompt
engineering layers.start and end parameters to play
precise video segments for auto-generated chapters.v8.10.4 across active interface surfaces.v8.10.2 across active interface surfaces.<iframe> embeds with the YouTube IFrame API. The reader now detects
when a video ends and shows a custom OASIS-themed overlay — eliminating the YouTube
"More videos" panel entirely.
rel=0 and modestbranding=1 player parameters to keep
recommended content from the same channel only and remove extraneous branding.
520px height and shrank the navigator and exercise panels to
give the video maximum horizontal and vertical space.
v8.10.1 across active interface
surfaces.academic course category with chapter-wise study, PDF fallback support,
and progressive chapter unlocking gated behind exercise completion.
$...$ and display
$$...$$ delimiters are auto-rendered in chapter text, exercise questions,
and MCQ options.
heading,
text, math, diagram, code,
image, table, callout, list,
and divider. Callout variants include theorem,
definition, info, and warning.
Content Blocks JSON and Exercises JSON fields to the
academic chapter admin editor, with a rich placeholder example covering all block types.
v8.10.0 across active interface
surfaces.leaderboard.html page with tournament-focused analytics panes, bar
charts, trend
graph output, and mode dominance matrix views.
leaderboardImpact exclusions.
matrix navigates directly to the detailed
leaderboard for
both
user and admin sessions.
v8.0.0 across active interface surfaces.standard, speed_multiplier,
difficulty_weighted) and
leaderboard opt-out behavior for practice-style modes.
modeVersion to 5 for newly created/updated tournament
snapshots.
[ CLEAR ] cleanly
detaches and restores manual editing.
modeVersion to 4 for newly created/updated tournament
snapshots.
today key resolution to local calendar-day mapping instead of raw UTC
day slicing.
recoverTodayTournamentLogsNow() for force-run verification via console
during
incident response.
Mode Name, saved modes selector,
apply/save/save
as new/delete/clear actions, and inline status channel).artifacts/{appId}/public/data/oasis_mode_library and wired reusable
mode
application directly into tournament setup fields and sync previews.
modeId, modeName,
modeVersion, modeConfig) so deleted/changed library modes
do not
break existing tournaments.
Embedded / Detached with one-step re-save support for creating
a fresh
library entry.allowPrev,
allowSkip, instantNext, and
survivalEndsOnWrong.
writeTournamentLog) to log the active mode and config used during
runs.calculateModeScore system to support dynamic modifiers generated by
future Advanced
modes.
timeSpentMs,
focusLostCount, pasteCount, and clientContext
across core
quiz modes and simulation tournaments without mutating leaderboard logic.
v7.6.0 across primary interface surfaces.
v7.6.0 in active scripting flow.v7.5.4 across primary interface surfaces.
v7.5.4 in active scripting flow.v7.5.3 across core surfaces.
v7.5.3 in active scripting flow.css/main.css and ~7000 lines of inline JS into js/main.js,
radically
improving index maintainability.
SECTOR and total MCQ / TEXT / CODING counts.
ATTEMPTED / SKIPPED / NOT VISITED counters and direct jump-by-number
navigation.
NEXT on
untouched
non-coding questions now auto-marks that question as skipped.05:00.v7.5.2 across active interfaces.v7.5.1 across active interfaces.RUN CODE
now jumps to
live test output once, while preserving free manual scroll back to the editor.INPUT / EXPECTED / OUTPUT diagnostics, including explicit runtime error
surfacing.
github-dark as a selectable editor theme alongside existing light/dark
modes.
v7.5.0 across active interfaces.ALL / RIGHT / WRONG / SKIPPED filters with live per-status counts.
[SKIPPED] (or blank) are normalized as skipped in analysis and treated
as
0 XP penalty instead of wrong.
v7.4.0 across active interfaces.+500 XP bonus entry inside the public XP log timeline.v7.3.2 across active interfaces.score/privateScore auto-migrates to Orb balance on restore.OASIS in the top header now toggles theme immediately in both selection
directions.
OASIS header text to make theme switching feedback explicit.SEND CHALLENGE
placeholder
action in cards to prepare upcoming duel workflow integration.
v7.3.1 across active interfaces.v7.2.0 across active interfaces.JSCPP to support standard stream operations
(!cin,
while(cin)) and boolalpha manipulators.
Anorak Prompt Generator with strict JSON schema enforcement and
improved coding
challenge logic for superior tournament generation.
.html paths, fixing cross-page navigation
issues.cleanUrls in
Firebase Hosting configuration to automatically strip .html extensions
from the
address bar (e.g., /documentation instead of
/documentation.html).
v6.6.3 across primary interface layers.Anorak persona, the system architect of the OASIS.input()/print() standards for STDIO modes, explicitly
forbidding
complex boilerplate and standard library imports.
coding.correctAnswer implementations and increased test case diversity
requirements
for high-fidelity simulation analysis.
v6.6.0 to v6.6.1 in primary UI surfaces.
v6.6.1.
coding.correctAnswer implementations.
input() and print() patterns, avoiding heavy
template
wrappers like sys.stdin.read()/main() scaffolds."5 9" map correctly
to
multi-argument signatures and single values like "5" are coerced when
expected.
#include <bits/stdc++.h> conversion for browser execution
environments.
Simulations award +10 XP for correct answers and deduct -2 XP for incorrect data entries. Forfeiting mid-simulation awards 0 XP for remaining queries.
Each OASIS user is granted one connection attempt per simulation protocol. Disconnection or manual abortion results in immediate forfeiture.