Koovira Dev Docs
20-modules/social/overview.md

Module: Social / Feed (always-on / customer)

Status: 🟒 Production (feed + posts live; engagement tables low-volume) · Last validated: 2026-09-06 · Priority: P1

The social layer β€” posts, stories, reactions, comments, shares, follow/friend graph, groups. This is the platform "Home". Validated against classs/PostWallModule.php, classs/KvFeedEngine.php, classs/FriendsModule.php + schema. No kv_module_control row (always-on).

A. Purpose

User-generated content + social graph, the engagement backbone. A creator-payout model exists (feed_monetization_payouts) but is not running. Posting can consume "posting credits".

B. Actors

Any registered user (via the social sub-profile); groups; pages; moderation/admin.

C. Entry points

/socialfeed.php, /socialcommunity.php; wall JS assets/newjs/wall.js. Feed ranking via KvFeedEngine::rank().

D. Feed engine

KvFeedEngine (classs/KvFeedEngine.php): getSettings(wallType) :29, activeDailyMode() :53, rank(candidates, viewerId, wallType, ctx) :75. Ranks candidate posts per viewer/wall.

E. Feature registry (prefix SOC-)

IDFeatureActorMethodTables (write)Status
SOC-001Create postusercreatePost :395post_master_wall, post_media_moderation🟒
SOC-002React to post/mediauserreactToPost :802, reactToMedia :1040post_reactions, post_media_reactions🟒
SOC-003Comment (+ edit/delete)useraddComment :1178, editComment :1330, deleteComment :1393post_comments🟒
SOC-004Shareuser(share)post_shares, post_share_chain, post_share_log🟒
SOC-005Save / poll voteuserpoll/savepost_saves, post_poll_votes🟒
SOC-006Storiesuserstory create/reply/pollstory_views, story_replies, story_poll_votes, story_mentions🟒
SOC-007Seen trackingsystemlogSeenPost(s) :276/:305post_views🟒
SOC-008Post permissionsownerupdatePostPermissions :193post_master_wall, post_collaborators🟒
SOC-009Follow / frienduserFriendsModule (+ applyAutoFollowSeeds)user_follow, user_friends, corporate_user_follow🟒
SOC-010GroupsuserGroupsModulegroups_master🟒
SOC-011Hashtag / muteuserfollow/mutehashtag_follows, user_feed_mutes🟒

G. Data model (2026-09-06)

TableRowsRole
post_master_wall440posts (the wall)
post_views732impressions (real usage)
post_reactions / post_comments / post_shares0 / 0 / 0engagement (schema live, low current data)
post_share_chain29share propagation
post_media_moderation791per-media moderation verdicts
user_follow76follow graph (not user_follows)
user_friends76friend graph (not friends_master); user_friends_unfriend_log 46
corporate_user_follow4,020professional-network follows
groups_master50groups
posting_credit_*β€”posting-credit balances/packs/usage (posting_credit_balances, _monthly_usage, _packs, _settings, _transactions β€” all confirmed present, 2026-09-06)
Row counts re-verified 2026-09-06 with live COUNT(*); post_master_wall, user_follow, user_friends, and corporate_user_follow had each drifted a few rows from a prior pass of this table (feed usage is ongoing) β€” counts above are current as of today, not a correction of a wrong method, just a newer snapshot.
The engagement tables (post_reactions, post_comments, post_shares) are at 0 rows now but are the real stores (the write methods target them); post_views=732 and post_share_chain=29 show the feature is exercised. Follow/friend live in user_follow/user_friends (singular) β€” not the plural/*_master names one might guess.

H. Financial impact

Mostly none. Two money-adjacent pieces: posting credits (posting_credit_*, a spend to post beyond a quota) and creator payouts (feed_monetization_payouts, built, not running).

K. Content lifecycle

create β†’ media moderation (post_media_moderation) β†’ publish β†’ distribute (feed rank) β†’ engage (react/comment/share) β†’ edit β†’ soft-delete (softDeletePost :1449) β†’ archive.

L / M / N

Errors: SOC-E001 post blocked by media moderation (post_media_moderation verdict). Depends on identity (social sub-profile), notifications, uploads/AV scanner, professional network. Change-impact: feed ranking + engagement writes affect the highest-traffic surface — re-test create→rank→engage.