Development Log
Feature-level sequence reconstructed from Git history and touched files. Rows can share a timestamp when several features were added or revised in the same development pass.
| Feature | Aspect Worked On | Logged |
|---|---|---|
| PHP application shell | Bootstrap, router, request/response helpers, database layer, config, helpers, public entry point | |
| Authentication | Registration, login, logout, forgot/reset password, session handling, CSRF middleware | |
| Profiles | Profile show/edit screens, avatar upload service, user model, admin seed user | |
| Base UI | Bootstrap/jQuery layout, navigation, shared error partials, home/profile/auth templates | |
| Posts | Composer, post creation service, post model, text parsing, post-card rendering | |
| Media attachments | Image/media upload records, media service, post media display | |
| Replies and threads | Reply posts, thread page, parent/child conversation display | |
| Likes | Like service, like count display, post action wiring | |
| Follows | Follow controller/service, follow records, profile follow controls | |
| Reposts | Initial repost service, repost records, repost count and post-card actions | |
| Home feed | Feed service, home timeline, profile timeline integration | |
| AI scoring jobs | Comment score model, score job queue, cron scorer, scored-post persistence | |
| OpenAI text scorer | OpenAI scoring service, prompt contract, model output parsing | |
| Source URL verification | Source verifier service and source-context support for scored posts | |
| Heuristic fallback scoring | Spam heuristic scorer and fallback math for failed or unavailable AI scoring | |
| Admin rescore | Admin middleware, manual comment rescore controller, protected scoring route | |
| Scoring unit tests | Initial coverage for score math, source verifier, OpenAI parser, spam heuristic, scoring service | |
| Auth refinement | Login/register/session/auth-service cleanup and production polish | |
| Feed and post-card refinement | Feed service, post service, source verification, layout, navigation, profile display revisions | |
| Image scoring | OpenAI image scorer, image assessment storage, image-aware scoring pipeline | |
| Upload diagnostics | Media service diagnostics, upload validation, profile/avatar and post-image handling improvements | |
| Score display | Post-card score UI, scoring result display, admin rescore feedback | |
| Visual assets | Favicon, default assets, CSS and JavaScript polish | |
| Repository hygiene | v0.0.1 release marker, ignore rules, workspace hygiene defaults | |
| Setup documentation | Sanitized environment template and refreshed README setup instructions | |
| Scoring policy | Finalized comment scoring policy and image fallback behavior | |
| OSINT composer | Breaking-news/OSINT controller, routes, index view, and OSINT post flagging foundation | |
| Quality rewards | Quality rewards and OSINT migration, score-aware UI, profile/feed integration | |
| Scoring explainer | What We Measure page, scoring controller route, explainer navigation | |
| Anthropic scorer groundwork | Anthropic text scorer service and multi-provider scoring preparation | |
| Anthropic scoring | Anthropic text scorer, Anthropic image scorer, missing Anthropic backfill job | |
| AI usage cost metadata | AI usage cost estimator, token/cost storage support, scoring metadata plumbing | |
| OSINT verification jobs | Breaking truth job model, assessment cron, queued checkpoints, manual/admin verification hooks | |
| Trusted news search | Trusted news search service and evidence collection for OSINT assessment | |
| Truth factor scoring | Breaking truth AI scorer, truth-factor formula, verification labels and status updates | |
| Writer privileges | Writer quality tiers, character limits, essay eligibility, low-score warnings and gates | |
| Quality filters | Feed quality floor options, saved filter preferences, default quality filter behavior | |
| AI cost guard | Posting guard for users below minimum quality threshold after configured scored-post count | |
| Manual OSINT sources | Manual source capture, source service, source display, trusted-source merge into verification | |
| Scheduled OSINT rechecks | Initial, 1-hour, 3-hour, and 24-hour verification checkpoints for current claims | |
| Writer warning email hooks | Mailer/config support for low-quality posting notices and AI-cost warning flow | |
| Username identity merge | Combined screen name and username into case-sensitive alphanumeric username display with profile URL support | |
| Username mentions and displays | Updated follows, feeds, post cards, profile pages, OSINT views, and text parser to use username | |
| Username validation | Registration/profile validation, username policy test, identity merge migration and seed update | |
| Writing guide | Added How To Write Well section summarizing journalistic writing categories for better scoring | |
| UI density cleanup | Tightened crowded navigation, post-card layout, and score/action spacing | |
| API metadata reveal | Moved token/cost/provider metadata behind a small dollar-sign control for testing visibility | |
| OSINT post quality scoring | Discipline, source tier, information density, confidence signaling, coherence, redundancy modifier | |
| OSINT track record | All-time average, last-50 average, resolved count, verified count, false-positive/noise rate, signal quality | |
| Feed-visible repost shells | Posts-table repost shells, repost/unrepost behavior, feed/profile display as "Reposted by" | |
| Repost score inheritance | Pure reposts inherit original post score for ranking and avoid fresh score jobs | |
| OSINT current-claim scope | Blocked older research-style posts from OSINT and kept them in the regular posting flow | |
| Feature tests | Added coverage for breaking-truth schedule, post OSINT scope, quality filters, writer privileges, score math | |
| Technical wiki | Standalone static wiki covering architecture, features, scoring, OSINT, feeds, paywall, jobs, data, testing | |
| Quote repost removal | Removed quote repost UI/server paths and feed/thread quote rendering | |
| Pure repost hardening | Reinforced pure repost creation, duplicate prevention, deleted-shell behavior, score-job avoidance | |
| Wiki search | Cross-page static search, result highlighting, autocomplete datalist, prompt buttons | |
| FAQ page | Accordion FAQ for client, accounts, posting, scoring, OSINT, paywall, admin, ops, testing gaps | |
| Wiki navigation | Main navigation links for technical wiki and FAQs | |
| Agent onboarding | AGENTS.md instructions for future chats, scoring principles, documentation rules, operational notes | |
| Scoring knowledge base | Scoring philosophy, rubric history, current rubric, prompts, schema, implementation map, decisions, open questions | |
| Development notes reorganization | Trust score notes split into active and legacy files, older task-split notes removed from repo | |
| Trust Score 1.1 evaluator | Integrated active Trust Score 1.1 directive for regular AI post assessment | |
| AI response JSON | Added raw provider JSON storage/display path for inspecting scoring breakdowns | |
| Age-adjusted feed ranking | Clarified and tested public/home ranking as effective score divided by post age in days | |
| Session and scoring tests | Added or revised tests for sessions, score jobs, feed service, score math, and scoring orchestration | |
| Development log page | Added wiki-viewable chronological development log and search/navigation wiring | |
| Feature-level development log | Revised timeline from broad milestone labels into individual feature additions and revisions | |
| OSINT self-attestation | Added OSINT reasoning capture, capped self-attestation scoring, and visible self-attestation contribution in verification details | |
| OSINT verification status | Restored awaiting status as awaiting verification, kept verified for any score above zero, and kept unverified for zero after 24 hours | |
| OSINT recheck schedule | Changed automated OSINT checks to immediate self-attestation plus 1-hour, 6-hour, and 24-hour corroboration checks, with late manual sources allowed to raise stale posts | |
| Open-work triage | Archived the May 27 meeting transcript, added the Immediate Discussion status, moved deferred items to Held, removed rejected AI-inferred backlog items, and captured OSINT media/testing follow-up work | |
| Queued development review | Added a transcript-derived Queued For Development section with review statuses and discussion notes, and spelled out Immediate Discussion labels across the open-work table | |
| Queued development detail modals | Promoted meeting-ready queued items to the top of the review list and made queued items clickable with transcript-backed detail panels | |
| OSINT quality-scoring direction | Logged the May 27 OSINT quality-scoring discussion as product direction already covered by externally sourced scoring work; no new scoring-algorithm code was changed in this pass, and future scoring changes require explicit review | |
| Soft quality-gate override for testing | Added a configurable admin-only testing override that keeps the writer-quality restriction warning visible while allowing explicit QA posts to continue through the posting flow | |
| OSINT media-as-source verification | Added attached-image review as capped OSINT media evidence so uploaded media can provide limited visual support without counting as an external trusted publisher source | |
| Media verification explanation details | Expanded OSINT verification details to show attached-media support notes, including what the media appears to support and what remains unverified | |
| Scoring queue and cron reliability check | Verified production cron coverage for scoring and OSINT jobs, confirmed queues were not stuck, and checked uploaded PHP syntax under the remote cron PHP version | |
| OSINT timing and recheck audit | Verified the production OSINT cadence and normalized legacy 3-hour checkpoint rows to the current 6-hour label with migration 015 | |
| Transcript backlog status cleanup | Removed the temporary queued-work section after moving every remaining May 27 transcript item into the lower status table under Needs verification, Immediate discussion, TBD, or Held |
Still In Development, Immediate Discussion, TBD, Held, Or Needing Verification
This list separates shipped code from features that still need immediate discussion, a policy decision, production verification, remote database work, or a future implementation pass. The AI tag is reserved for inferred suggestions that have not yet been accepted, rejected, or recategorized.
For the scoring and OSINT decisions that still need owner approval, see the open questions document.
| Feature | Status | Current State / Next Step |
|---|---|---|
| Server cron scheduler | Needs verification | Queued scoring exposed a scheduler gap during testing. The cron path was configured afterward, but the host-level scheduler still needs persistence monitoring and production confirmation. |
| Remote database migrations | Needs verification | New migration files can be uploaded by SFTP, but schema-changing migrations still need remote apply/check steps. |
| Stripe checkout and subscriptions | TBD | Config and eligibility hooks exist. Full checkout, saved payment method UI, subscriptions, webhooks, refunds, chargebacks, and payout policy are not complete. |
| Subscriber access enforcement | TBD | Elite-writer paywall eligibility exists, but subscriber-only rendering and actual paid access enforcement still need implementation. |
| Low-score payment method gate | In development | Writer-quality gate logic exists. During testing, use a soft warning/override path so the team can see when posting would be blocked without stopping test posts; the final payment-method flow and blocked-vs-suppressed policy remain unresolved. |
| Full user trust score system | TBD | Trust Score 1.1 content scoring is active, but the broader user trust system is not built: trust events, device/IP risk, decaying penalties, friction rules, and admin dashboards are still missing. |
| AI response JSON schema and display | In development | Raw provider JSON storage/display code is being wired in. Remote schema application and signed-in UI verification still need confirmation. |
| Meeting transcript/action-item workflow | Immediate discussion | Meeting transcripts should feed project-specific summaries, action items, and feature/backlog updates without mixing in unrelated projects. Decide the repeatable archive, summary, action-item extraction, and backlog-update flow. |
| Moderation workflow | Held | Spam/toxicity signals exist through scoring, but there is no complete moderation queue, review dashboard, enforcement workflow, or appeals process. The process is likely needed later, but discussion is paused for now. |
| SMTP and live email flows | Held | Password reset, email verification, and low-score warning paths exist as specific email paths, but live SMTP/product notification work is deferred until the project is ready to focus on email. |
| Notification system | Held | Broader notification emails or in-app notifications are expected later, but the product is not ready to design those flows now. |
| OSINT verification policy tuning | Immediate discussion | Immediate discussion item for remaining breaking-news rules: fast-confirmation weighting, disputed-claim caps, manual-source abuse throttling, account credibility, private reasoning visibility, and any formula tuning that survives the self-attestation architecture. |
| OSINT media provider/video follow-up | TBD | Attached-image evidence is now wired as capped verification support. Remaining work is provider research, including whether Gemini or another model should handle public-figure, location, and video context. |
| OSINT account and real-world post testing | Needs verification | Create or use a dedicated OSINT test account and run representative copied posts, including image-attached claims and fast-breaking verified news, before inviting outside OSINT writers. |
| X post import or assisted intake | TBD | Investigate whether selected X posts can be pulled by API or assisted import. If API access is not worth it yet, keep copy/paste as the testing fallback. |
| OSINT account identity and credibility | Immediate discussion | Decide OSINT account onboarding and identity requirements, then connect account history and credibility to self-attestation weight without excluding credible new writers too early. |
| Private source/reasoning visibility | Immediate discussion | Decide how much of an OSINT writer's source reasoning is public. The page may need to say that reasonable details were provided without exposing sensitive sources. |
| Client scoring reference reconciliation | Immediate discussion | Collect the final scoring reference mentioned near the end of the meeting and reconcile it with the current self-attestation, corroboration, and manual-source architecture. |
| Remote signed-in browser testing | Needs verification | Posting, replying, reposting, representative OSINT posts with images, OSINT source submission, admin rescore, paywall UI, score queues, and score detail panels still need a full remote signed-in pass. |
| Production readiness | Held | Monitoring, backups, production API key checks, cost caps, and final moderation/payment policies still matter before broad public launch, but this is deferred until the product is closer to launch readiness. |
| Bubble U game/nonprofit integration | Held | Current scope uses the How To Write Well guide instead. Any Bubble U game or nonprofit integration is paused until the project returns to that scope. |
May 27 Discussion Notes
- The opening transcript discussion was mostly cross-project workflow planning; only the parts that affect TruthX tracking and backlog maintenance are kept here.
- Quality score and Verification Score remain separate concepts for OSINT posts. A post can be low-quality opinion even when it includes media.
- The self-attestation architecture remains the product priority: writer reasoning, outside corroboration, and manual sources feed one visible Verification Score.
- External corroboration remains the strongest verification evidence. Self-attestation, private reasoning, and media context can provide capped support but should not reach full certainty on their own.
- Attached images now provide limited verification support. Video handling and the best media-analysis provider remain future research items.
- The low-quality posting override is for admin and QA testing only; it does not settle the final public payment-method or posting-block policy.
- X import remains optional research. Manual copy/paste is still the practical test path until API access, cost, and value are clearer.
- Several earlier AI-inferred backlog ideas were rejected in the meeting and should stay out unless the product direction changes.
Source Note
This page is reconstructed primarily from Git commit history, commit-touched files, and the current working tree. The feature/aspect wording is intentionally brief for handoff use and should be updated whenever new development milestones are committed or deployed.