Changelog
All notable changes to this project will be documented here. The format is based on
Keep a Changelog, and releases follow
Semantic Versioning.
[Unreleased]
Added
- Added a periodic terms-of-service consent-gate proof of concept to the modern
application component catalog. The configurable mockup accepts Markdown content,
keeps acceptance controls visible, unlocks its checkbox only after the document is
fully scrolled, and offers no close or dismissal action before final acceptance.
- Added a persistent professional onboarding readiness mockup to the modern application
reference. Its non-dismissible launch dock keeps verified and outstanding setup tasks
visible without becoming a product tour, links each open requirement to a destination,
explains which workspace capabilities remain locked, simulates authoritative task
completion, unlocks the surrounding workspace, and marks completion with a brief
reduced-motion-aware confetti response. A complete unpublished implementation package
under
caps/_onboarding_readiness_implementation provides portable HTML, CSS,
JavaScript, and the production state, authorization, routing, persistence,
accessibility, responsive, and testing contract.
- Added a complete unpublished modern-interface form handoff under
caps/_forms_implementation, with standalone HTML, CSS, and JavaScript covering all
six approved form families, their supported variants, full state references,
validation-state treatment, multi-select disclosure, password visibility, controlled
switches, responsive presentation, and a non-submitting live composition. Its pill
dropdown padding, native caret, and default/small sizing now match the production app,
and its live fields consume the canonical Studio field structure and focus contract.
Pill selects reserve explicit space between their selected text and native caret, and
every pill state row now holds one semantic color constant so state labels cannot be
mistaken for color mappings. Priority pills use the exact production Heroicons flag;
radio specimens inherit the checkbox color contract with only a circular indicator.
Checkbox and radio rows now keep a white surface for every unselected state, while
disabled choices use muted text and indicators without strikethrough or gray opacity.
Full name, Due date, and Device count now explicitly share the complete standard-input
focus declaration, with Device count retaining only its native Stepper behavior. The
base input selector now has lower specificity so focus, error, and disabled states are
no longer suppressed. Standard dropdown and multi-select controls now also provide
explicit 48px input-height variants, documented across all five states, while their
approved compact defaults remain unchanged. The live composition now uses that 48px
multi-select variant for Region instead of the former singular dropdown.
- Added reusable success, error, warning, and information toasts to the modern shared
interface, with explicit icons and labels, manual dismissal, a self-dismiss countdown,
interaction-aware pausing, reduced-motion handling, catalog replay controls, and a
dedicated unpublished implementation package under
caps/_toasts_implementation.
- Completed the Provider Offers journey and finalized the standalone Shared, Business,
and Provider retheme handoff packages with one flattened locked-global stylesheet,
shared interaction controllers, complete route HTML, and route-specific reuse
instructions. Provider Business administration now uses the exact Business Company
administration composition, while redundant Provider Business profile and Placement
detail routes remain retired.
- Rebuilt Shared Resolution Center from the approved Documentation Detail structure:
a search-free Name/Status/Date case table with a configured status filter now opens a
two-section Dispute case and Evidence drawer, while Open dispute reveals a
provider-linked filing form that lists the selected provider’s available tickets
through the same approved drawer primitive; both role sidebars expose the shared route.
- Consolidated the Shared Profile and account-security reference into the approved
administration-style tab layout. Password changes and authenticator setup now use
focused modal flows, passkeys use a management drawer, and social sign-in controls
live directly in Profile; the superseded standalone security views were retired.
- Completed the Business provider-offer journey with the approved invitation modal,
full participation-agreement view, two-party acceptance state, and pre-placement
professional profile. Find expertise now links its Invite and View profile actions to
those shared route compositions, while the redundant standalone Team member specimen
has been removed in favor of the existing My team master-detail workspace.
- Completed the approved Business company-administration reference: reusable Staff,
SSO, Business Profile, Payments, pricing, and ticket-detail compositions now replace
the earlier generic route mockups. The work also adds shared step-flow, state-switch,
stepper-field, accordion, persistent-footer drawer, pricing-card, invoice-table data,
and open/closed ticket-detail sources so the parent studio and Business catalog consume
the same approved layouts.
- Added complete noindex modern-interface view catalogs for all inventoried business,
provider, and shared application views, composed exclusively from the approved parent
interface shell, controls, and components with explicit isolation from Platform ADMIN.
- Centralized Profile, Security, Reset Password, Authenticator, Passkeys, Social sign-in,
Disputes, and shared messaging in the shared-view catalog, removed their duplicate
role entries, and aligned the account/security compositions with the implemented
production React layouts while retaining the approved modern-interface styling.
- Replaced the role-catalog ticket mockup with the complete approved ticket workspace,
including its four workflow columns, Board/Table/Completed states, header column menu,
search, drag metadata, ordering persistence, and shared interaction script; ticket
routes now occupy the application shell edge to edge instead of floating inside its
padded content canvas, and the Table state no longer adds an outer white specimen
panel or enclosing border around the table grid. Ticket route surfaces now inherit
the shell-space gray instead of introducing a second gray background.
- Replaced shortened role-catalog message mockups with the complete approved Chat
workspace, restoring the full conversation list, resizable rail, participant stack,
linked-ticket controls, pinned-message state, attachment, and connected composer.
- Restored Documentation as a first-class Business sidebar route with its production
BookOpen icon and rebuilt its index from the approved completed-ticket table control,
including the shared filter, columns, sorting, resizing, and ordering behavior. It now
sits directly on the shell surface without a duplicate hero, custom month controls,
alternate table markup, or enclosing component panel. Column visibility now uses a
shared funnel menu overlaid in the table header instead of an inline checkbox panel or
a dedicated control column. Tables retain Name, Status, and Priority while optional
columns automatically hide and return with available width, avoiding horizontal scroll.
- Renamed the global ticket-title column from Subject to Name, removed the stray
row-reorder glyph beside it, and centered each header label with a Heroicons sort icon
as one non-wrapping unit. Optional columns now hide before a header label truncates.
- Loaded the shared ticket-workspace bundle through the established single-script page
contract on the parent, Business, Provider, and Shared references, with one revisioned
asset URL so those pages cannot silently retain the earlier table implementation.
- Globalized pagination as a native part of the approved data-table control, including
accessible previous/next and numbered-page controls, live result ranges, persisted
rows-per-page selection, and automatic reuse by Ticket and Documentation tables.
- Expanded the completed-ticket reference dataset to 123 deterministic records so the
shared table exercises real multi-page navigation at every approved page size.
- Bounded the desktop application shell and moved long-route overflow into the
keyboard-focusable right-hand content pane, keeping the sidebar and top bar stable
when tables display 50 rows.
- Replaced the invented application-topbar health, notification, and duplicate-account
controls with the shared role-and-route breadcrumb navigation.
- Tightened the global linked-ticket pill controls, shortened priority values to High,
Normal, and Urgent, reduced date/status excess width, and shortened the shared Chat
action from “View ticket” to “View” so ticket names retain more space. The date pill
now fits the rendered date without retaining dead space after the year, and all
linked-ticket pills use an even gap with matching Date/View horizontal padding.
- Split the shared Chat workspace into independently scrollable conversation-list and
message-history regions, kept the composer pinned outside the message scroller, and
made the conversation canvas transparent to the application shell surface. Message
bubbles remain solid white, with sent messages shifted from saturated yellow to soft yellow.
- Rebuilt Find expertise as a full-width application workspace instead of a nested card,
populated 30 professionals across all 13 approved expertise categories, separated the
filter and complete-results scrolling regions, and connected the existing global
pagination to the real three-page result set without pinning it. Its new global
multi-select dropdown replaces permanently expanded checkbox filters; search now sits
beside sorting, and compact provider cards retain only profile identity, name, skills,
and compact actions. Provider page sizes use a 12/24/48 three-column cadence so pages
end on complete card rows.
- Rebuilt Business
001 / Today from the shared operational-dashboard source so its
landing view now combines the compact metric strip with concrete recent-ticket,
completed-work, offer, and placement activity. Today rows now reuse the global avatar
and approved pill controls in one consistent left-identity/right-status layout. The
global pill component now has a documented 24px content-width display size for dense
rows, and each Today row is the action, eliminating oversized trailing arrow buttons.
The parent composed workspace and Business catalog consume the same source rather than
maintaining separate dashboard markup.
- Rebuilt Business
006 / My team as a full-height master-detail workspace. Its member
rail reuses the approved Chat list rows, global dropdown, avatars, and selected state;
Current and Inactive filtering auto-selects the first visible member, and each member
opens complete profile, capability, action, and placement-history detail. The member
rail now reuses Chat’s saved pointer-and-keyboard resizing behavior, while current
placements expose the documented global destructive action beside their other actions.
Member detail also previews business-scoped role-based access with the shared input,
preset-role dropdown, checkbox, and action controls; it is explicitly non-enforcing
placeholder UI until the application permission model is implemented.
- Added distinct blurred-backdrop error-alert and functional content modal treatments to
the modern Platform ADMIN reference, with accessible interaction contracts and separate
source-only implementation-package routes.
- Added a complete Platform ADMIN design handoff with modular CSS, full standalone HTML
examples and route-specific implementation instructions for all 20 existing ADMIN
routes and states, including the new Growth + retention and Financial operations
dashboards plus a canonical sidebar/mobile-shell reference.
- Added an unlinked, noindex modern application-interface reference that preserves the
complete existing component catalog while introducing a calmer app-focused visual
system, a structured implementation manifest, an integrated approved-component
composition, and
full-height open and closed ticket-detail drawer concepts.
- Added a dedicated, accessible 404 experience using TechTroop’s plain-language
error guidance, reassurance, and safe Home or Back actions.
- Added an unlinked, noindex presentation-language studio with narrative, slide-master,
image-placeholder, table, typography, data, proof, accessibility, production,
downloadable business and professional conversation decks, and GPT handoff guidance.
- Added an unlinked, noindex social-media language reference with audience-balanced
strategy, ratio-based graphic systems, campaign and imagery guidance, proof
governance, accessible production rules, and copyable CSS and JSON handoffs.
- Added an unlinked, noindex design-system reference for translating the site’s
visual language into the TechTroop application.
- Added an unlinked application-interface reference covering global controls,
identity, business, professional, ticket, chat, and modal patterns.
- Added copyable CSS sources and machine-readable design and application manifests
to make both hidden references usable as future AI implementation handoffs.
- Added a concise landing-page statement of TechTroop’s purpose, direction, and
operating principles for businesses and IT professionals.
- Added authentication, password-recovery, verification-code email, placement
notification, error-message, invalid-link, and 404 patterns to the
application-interface reference and machine-readable implementation handoff.
- Added a dedicated application form-control reference covering fields, custom
choices, combined input/action outlines, uploads, scheduling, validation,
submission states, and responsive behavior.
- Repository governance, contribution, security, and community-health documentation.
- Continuous integration, dependency updates, and semantic release automation.
- Docker-based continuous integration aligned with the local development workflow.
Removed
- Removed duplicate contract, dependency-boundary, and primitive-catalog sections and
their unused CSS from the business, provider, and shared modern-interface view pages;
those pages now begin with their view lists and continue directly into composed views
and subviews.
- Removed the obsolete responsive-navigation section from both application-interface
references, including its breadcrumb and mobile-navigation specimens, dedicated CSS,
and manifest contracts.
Changed
- Moved Shared Profile account records and account-access lifecycle controls into the
Profile & preferences tab, leaving sign-in controls on Account controls.
-
Routed the Shared ticket and documentation-detail catalog choices to their canonical
Business specimens, removing three duplicate renderings. Shared error and content
modal references now appear as true blurred overlays across the complete application
shell instead of as nested application content.
- Rebuilt the full ticket-detail reference inside its approved full-height drawer and
split activity/context layout, replacing the fake background navigation and bespoke
internal controls with the shared application sidebar, status pill, buttons, icon
buttons, tabs, chips, textarea, composer actions, and Heroicons from Sections 01–08;
aligned global icon-only actions to the standard button height and reduced the drawer
title scale.
- Removed the parallel role-page stylesheet and bespoke
mi-* component layer from the
business, provider, and shared view catalogs. All three now load the parent
modern-interface stylesheet and render their route inventories through its approved
shell, form, chat, ticket, directory, profile, modal, table, and feedback components.
- Flattened every composed catalog route into a single application surface while
preserving the locked Global / Application shell and top bar; removed only duplicate
route headings and specimen-level borders that had incorrectly placed complete demo
interfaces inside that shell.
- Replaced the wrapping business, provider, and shared route-link grids with one compact
approved dropdown jump bar so host-page navigation stays subordinate to the views.
- Removed the oversized host-page heroes from the business, provider, and shared view
catalogs so each page begins with its compact view jump list and then the renderings.
- Rebuilt “The operation, in one view” exclusively from the approved Sections 01–08
shell, sidebar, heading, action, attention, metric, avatar, chip, and team-coverage
globals; removed its invented mini-app markup, component classes, and dedicated CSS.
- Rebuilt modern-interface section 08 as an inventory of the exact controls already
approved in sections 01–07, globalizing the existing input, Chat textarea, and
dropdown treatments, preserving the approved checkbox and radio globals, and adding
only the missing multi-select and state representations. The inventory retains its
six-family, five-state columns while also surfacing the existing Chat date pill and
both existing Chat pill-dropdown variants—text-only status and leading-icon
priority—the standard date-input variation, and one trailing-icon input variation.
Checkbox and radio markup now comes from one shared choice-control include across the
approved inventory and business filters.
- Extracted the approved application top bar, page heading, ticket workspace, Chat
workspace, business directory, and team coverage into shared component includes, then
switched both the parent Sections 01–08 reference and every role-view catalog consumer
to those same sources so the catalogs cannot maintain parallel component markup.
Feedback alerts, checkbox/radio choices, trailing-action inputs, and textareas now use
the same single-source contract as well; static source checks confirm the role renderer
introduces no component class absent from the approved reference.
- Removed the remaining role-route copies of dashboard summaries, profile summaries,
modal shells, standard inputs, dropdowns, tabs, and route-only tables. The reference
and composed catalogs now resolve those component families through one shared source.
- Consolidated the date pill, text-only status pill dropdown, and leading-icon priority
pill dropdown so Chat, Section 08, and ticket detail consume one shared implementation.
-
Replaced the ticket table’s full-width column checkbox panel with a compact Heroicons
funnel menu in the table header, and replaced the browser’s header-only column drag
image with a complete elevated preview of the header and every visible column cell.
- Separated authentication and transactional email from both inner-app interface
guides into their own noindex production reference, dedicated stylesheet, and
machine-readable manifest. The new reference mirrors the implemented
app.techtroop.co sign-in methods, three-step registration, recovery and
verification states, auth errors, and backend email layout and templates without
importing or extending the inner-app globals.
- Removed the overlapping mobile borders between the cookie illustration cell and the
action row so their shared edge renders as one line.
- Aligned both application form headers and actions with their business-yellow and
professional-violet role colors, shared counter typography, consistent layout, and
one universal orange private-beta status marker with concise audience-first labels;
standardized visible business CTAs as “Build an IT team” in business yellow and
preserved professional CTAs in professional violet.
- Excluded pages marked
sitemap: false from the hand-authored page sitemap.
- Excluded the POST-only form receiver from GET-based link checks and kept hidden
reference pages free of public discovery metadata.
- Updated the Ruby JSON dependency to 2.21.2 or newer to address CVE-2026-71847.
- Replaced the default Jekyll metadata description with TechTroop-specific copy.
- Redesigned the marketing experience around TechTroop’s curated private beta,
flexible IT team model, and business-controlled support relationships.
- Expanded the original newsletter and countdown landing experience with
conversational access flows and clear private-beta onboarding expectations.
- Restyled cookie consent to match the new visual system and made visitor choices
easier to understand, revisit, and change.
- Added equal business and IT-professional calls to action throughout the core
marketing story.
- Restored the June 1, 2027 launch countdown as a compact opening-page strip.
- Versioned front-end assets to prevent stale styles and refined the cookie
consent panel’s spacing, alignment, and preview behavior.
- Separated paired path actions with a visual gutter, aligned the journey divider
to that center gutter, and softened their hover movement.
- Added a six-step IT-professional application prototype covering expertise,
certifications, résumé, availability, client fit, and working style.
- Made the launch countdown a persistent rail beneath the sticky site header.
- Connected both approved application flows to a dedicated Cloudflare Worker with
visible Turnstile verification, honeypot protection, destination-locked email
delivery, private 30-day résumé storage, and confirmed-success reset modals.
- Restored the existing MailerLite newsletter signup in a responsive band above
the footer divider.
- Added an optional public Credly profile to IT-professional applications, with
domain validation and explicit applicant-provided verification labeling.
- Expanded both marketplace paths with practical AI needs and expertise,
including readiness, policy, security hardening, integrations, and MCP deployments.
- Unified the newsletter email and Subscribe button under one accessible focus outline.
- Corrected final-step navigation, aligned consent controls with the form checkbox
language, and replaced raw Turnstile configuration errors with controlled guidance.
- Replaced free-form professional time zones with a concise continental U.S. selector
and clarified the location field as the applicant’s home base.
- Widened and respaced footer navigation columns to prevent wrapped links from
feeling compressed.
- Moved contact into a direct home-page section and redesigned the privacy and terms
pages around the site’s typography, color system, and sticky launch countdown.
- Brought the Cookie Policy into the same branded legal-page system with direct access
to cookie preferences.
- Reframed the combined acceptable-use and disclaimer page with the shared legal-page
design, clearer context, and direct issue reporting.
- Added three required follow-up date and time options to both applications and replaced
free-form professional availability with structured availability windows.