β SaaS Kit live-first: portal.way4tech.com = truth. SSH root@[ip] β docker exec odoo19-saas-hrms. live_first_operating_model.
π¦ Keep entries short, one line, detail belongs in the topic file β this index has a hard size budget. Pre-trim originals: MEMORY_FULL_2026-08-31.md.
Standing rules (read FIRST)
·use_pr_workflow_no_direct_main_push β Click-Theory/Freightcom: feature branch + PR for main.
·commit_pr_descriptions_short_human β Commits/PRs short, human.
·client_clarifications_forwardable_message β Ambiguous feedback β forwardable message; fix clear items in parallel.
·saas_kit_server_credentials β ALL server/NPM/CF/SSH creds in kit β FETCH via odoo shell, NEVER ask. devcynx pw ***
·all_server_credentials_inventory β FULL decrypted dump, 27 servers (SSH/NPM/CF) + accessors. Avoid re-running the shell.
·no_scripts_for_simple_ops β No scripts for one-shots.
·github_push_classifier_block β Push denials = permission classifier, NOT missing creds. Try once, then offer the allow-rule.
·no_autonomous_push_to_client_repos β Never push client repos without explicit "go". "Deliver it today" is NOT push authorization.
LIVEno_smoke_tests_on_devnew_fameproksa β Al Zain KSA: smoke on devtest only; devnew live-ish.
OPENself_smoke_test_on_devtest β Multi-group drops: self-smoke via odoo shell before next group.
·batch_commits_not_rapid_fire β Batch a session into ONE commit. Five version bumps minutes apart looks machine made and the build history is visible to the client.
·no_claude_attribution_in_commits β Waqas Riasat author only.
·scrub_ai_marks_before_client_submission β Before ANY client-facing artifact: scrub AI-tell words + em-dashes + emoji + AI voice.
·dont_replace_existing_client_facing_design β Existing client-facing page? Minimal edit only; their branding is NOT an AI-tell.
·no_proactive_gabriel_lena β Lena: only what Gabriel asks.
LIVEautonomous_operation β Decide, do, report. Live servers: don't make a mess; staging first, then production.
·autonomous_resume β On "continue": check project memory FIRST.
·eod_sod_workflow β .\eod.ps1 / .\sod.ps1.
·git_push β Push policy.
·canonical_repo_authoritative β websites_portal: github canonical.
·clone_test_clients β Clone prod to parallel hostname for milestone tests.
·odoo_online_no_modules β SaaS: inline cron/server-actions only.
·kit_oneshot_cron_loop β Never self-upgrade kit via cron.
·price_quotes_by_buyer_market β Quote Western clients by market rate.
LIVEruntime_over_static_debugging β "Should work" but fails live? Instrument + reproduce.
·odoosh_ssh_access β SSH works on EVERY Odoo.sh build. addons-path must include submodule dirs; no scp; strip BOM tail -c +4; env.cr.rollback() to test safely.
·odoosh_bump_version_to_upgrade β Odoo.sh: bump manifest version in the SAME commit as any model/field/view change or prod crashes on a missing column.
DONEclaude_full_authority_setup β Global settings bypassPermissions + git GCM/user.name fixed; per-project folder+window workflow.
Active (2026-08)
DONEstore_listing_audit_2026_09 β β RESUME. 18 of 26 tier-1 listings PUSHED 19.0@63ba2eb, Waqas must re-scan each on the store. 8 tier-1 left + tier 2 (21) + 16 themes. π wt_enterprise_salon $1299 could not install at all (missing salon.blocked.time) β FIXED.
ISSUEwt_construction_enterprise_2026_09 β $349 add-on PUSHED 19.0@f47e4ab 09-10, 113 models, 502/530 tests. NOT synced to store yet. Base bumped [ip].0 for 3 real cost bugs. Read the CVR demo caveat before touching demo data.
LIVEcarrell_migration_to_cloudpepper β DO blocks SMTP β moving Carrell to [ip]. BUILD DONE + VERIFIED 09-08, NOT cut over. Copy has ALL crons + mail disabled on purpose.
OPENLena: full_milestones_index, scope, dashboard_07_01, m4_training, migration_07_10 β OPEN: orphan-FK, PR #12, Gabriel β M5.
OPENMudon: feedback_round_08_02 OPEN: WhatsApp blocked, Meta Lead Ads needs token. β Deploy ONLY via kit shell wizard server 23. Β· 3env_setup, enterprise_upgrade_07_05
LIVESawera Signature: sawera_signature_tenant β β
LIVE 08-27, UI sweep 09-03. devcynx stack 16, tenant 261. π 3 SHARED-module bugs fixed here. β view changes need docker restart; footer view 2755 keeps its <data><xpath> wrapper.
·WT SaaS Kit hardening: wt_saas_kit_hardening_2026_08 β Plan APPROVED, NOT started. Handoff Documents/Spa/HANDOFF-saas-kit.md. π΄ ZERO BACKUPS (254 tenants); 136/254 systemd_venv.
LIVECircleRig (Egypt): circlerig_egypt_odoo19 β β LIVE. O19 Ent, 2 companies (Cairo/Port Said), 10 custom modules. Staging-first rule. Tools in Documents\circlerig-tools\. Read the file first.
·portal.devcynx.com O18βO19: portal_devcynx_odoo19_migration β β
CUT OVER 08-27. Stack odoo19-saas-hrms, NPM host 5, waqas@devcynx.com/***. wt_zkteco_adms ported. Rollback = NPM host 5 β odoo18-saas:8069.
LIVEera_costadelsol_domain_cutover β LIVE dual-domain era + erp.era-costadelsol.
·monarch_api_keys_deleted β api.key deleted, no backup.
DONEfreightcom_sp_bridge β v40 (07-14) pickup_location_state fix; v39 multi-group total drop fixed. Staging pplus_stag_jul_12.
DONEpplus_delivery_price_rule_api β staging copy-aug-14. Mahdi approved pricing. Badge fix DONE. Threshold rule PROVEN vs S22404. Reply DRAFTED, send unconfirmed. β TEMP DPRDBG log still in. π΄ branch lost the freightcom v41 fix.
LIVECarrell: rental_goformz_sync β β RESUME FROM C:/Users/waqas/Documents/carrell/2026-08-27-goformz-work/RESUME.md. ALL LIVE @e7efd1f. π PHASE 1 APPROVED NOT STARTED (22h). β staging cron 34 re-enables itself.
·azull_server_compromised β [ip] kit id 27. Malware cleaned 07-14. Rebuild ideally.
·esign_way4tech_provision β esign.way4tech.com tenant 249. Shares stack 48 with devnew.fameproksa.com β check siblings before stopping anything.
OPENSoludoo (Paola): paola_swiss_headless_odoo_lead β A: BFF, P1+P2+P2b DELIVERED @3546a81; P3-5 $5,500 NOT funded. B: QA role, do NOT build. π΄ Christian leaked keys in-channel. Β· history.
ISSUEepc_core_automation β β
BUILT+PUSHED, v1.6.7 f56ede68 on staging. Core/charge split DEFERRED by Greg to v20. Cores excluded from replenishment rebuild, proven. OPEN (needs Greg's go): 62 cores still carrying Buy, 12 reorder rules; batch-import bug.
·azull_redsp_v4_feed_estimate β REDSP feed dead since 2025-06 (v4 vs Kyero-v3). Solved on mainline β PORT not build. ~15h β $360.
·azull_odoo15_to_19_upgrade_estimate β crm.azull.info O15 Entβ19, ~220-240h ($24/hr). Sell Phase 1 first.
·clicktheory_odoo19_themeprime_owl β O19 OWL crash = Droggol Theme Prime not O19-compat. NOT client code. Advisory only.
DONEodoostore19_new_modules_2026_08 β 5 new O19 store modules PUSHED to origin/19.0 @b369c8d, 77 tests; audit fixed 1 blocker + 13 majors.
·wt_turkish_localization_suite_2026_08 β resume from Turkish invoice/resume/RESUME.md. Published 2293920 but audit found 69 findings, DO NOT publish as-is. Fixes 4/8 on tr-suite-audit-fixes@6b5d8d4, untested.
·odoostore19_20_new_industry_modules β 20 modules code-complete, 1603 tests. π΄ 16 newer ones never finish installing (RC=255). Handover: Documents\odoo19_dev_tools\SESSION_HANDOVER.md. β decide w4t_ vs wt_ prefix.
·wt_project_pro β Project Pro $900 published; listing was BLANK until d644fd8 (09-10), Waqas must re-scan on store. π custom-column board has NO renderer: action_wt_project_board_client undefined, "Open Board" falls to plain kanban. 7 gaps in file.
·wt_hospital_management β O19 HMS 4-tier. Base/Enterprise/Ultimate ALL PUSHED. Premium $900 PAUSED (scaffold only).
LIVEindustrial_erp_demo_2026_09 β LIVE erp-demo.way4tech.com (admin/***) O19 ENTERPRISE plant demo: 631 staff, 12 halls, multi-level BoMs, live MOs. Isolated odoo19-saas stack.
LIVEwaqartest_tenant_2026_09 β LIVE waqartest.way4tech.com (admin/***), blank O19 + Enterprise + all 154 W4T modules discoverable, nothing pre-installed.
LIVEkds_demo_amir_afridi_2026_09 β LIVE kds-demo.way4tech.com (amir/KdsDemo2026), $39 KDS listing. π 3 defects in the published module.
OPENchacangaduong_vietnam_odoo_lead β VN fish-cake. ROM $45-62k. Reply drafted NOT SENT.
·devcynx_cynx_solutions_partnership β Negotiating. Counter-contract v3.0 at Documents\CYNX_Partnership_Agreement_v2.html. SENT 08-04, Sohaib wants to read it together. β Devcynx = his infra β keep amicable.
ISSUEwt_twilio_sms_store_edition β β RESUME. [ip].0 on twilio-store-v2@c512642, NOT pushed, NEVER INSTALLED.
LIVEgulfpixel_odoo β Kuwait camera store, Odoo 18 on Odoo.sh, prod branch gulfpixel. Twilio SMS live. The reference build CircleRig gets compared against.
Realtysoft / wito
·wito_servers_audit, vps4_two_instances, vps4_hihomes_wkhtml, property_manager_repo, property_api_translations.
DONEera: whatsapp, matched_email, meta_pixel RESOLVED.
OPENzoddak_lowres_images β FINAL 08-04: link-only images, filestore 7.4Gβ1.1G. OPEN: cover image absent from the Zoddak feed.
·res_resales_video_virtualtour β Resales feed mixes video + tour in one VirtualTour field. Fix = split by URL type. Diagnosed 07-28, NOT built.
·feeds: import, html_entities, export, redrose, silent_action, investspain_feed1, move2spain.
ISSUEabracasabra_followers_email_button β UNRESOLVED, DO NOT touch.
LIVEwito Inmolink Spain /agent/ nginx 429 Β· wito2_wito3 micro-cache LIVE. Never rate-limit /v1/.
WT SaaS Kit
LIVEsaas_kit_platform_build β β
LIVE fab84f5, 1108 tests, 254 tenants intact. Tooling: Documents\wtsk_dev_tools\SESSION_HANDOVER.md. β git status server checkout before pulling. π΄ rotate the PAT (cred id 2, clear text).
LIVEwt_saas_odoo_kit FULL control plane, 10 gotchas Β· live_first_operating_model Β· wt_saas_kit superseded.
·reference_wt_saas_kit / inventory β Deploy steps + every server/stack/tenant.
LIVEnext backlog Β· live_discovery Β· v1_1 Β· v1_2 Β· pause.
·stale_worker_autoheal Β· apr14_autonomous / tier_a.
Tenants / provisioning
LIVEmomentum: provision Β· rename Β· transfer Β· flowershop LIVE Β· basedir.
ISSUEodoo19saas_repo_drift Β· docker_psql_clone 8-step tenant clone.
LIVEcloudpepper systemdβdocker Β· lucky 502 fixed Β· abusami LIVE NO old-data writes.
LIVEassc_tenant_and_pos_getchange β assc.way4tech.com LIVE. OPEN: activate rec259 + del dup260 + uninstall pos_settle_due.
Way4tech
DONEway4tech_website dedup c6259d5; CRM lead replies now mirrored via Gmail 066daac (SPF/DKIM fine, DMARC p=none). π΄ CF blocks AI crawlers, no GA4. Β· digital_stackers β PRIORITY, PORTAL not Astro. Β· websites_portal β CORRECTED, media lib SHIPPED d8c25d2.
LIVEwebsites_portal phases: 3 Β· 4 Β· 5 Β· 6a Β· resume LIVE.
LIVEwebsites_portal history: v1_1, v1_2, v1_3, v1_4, v1_5, live_deploy.
·eshop, tools, react_portfolio, resume, cynxsolutions, fashionhub.
WT modules (sellable)
·db_backup_cloud, recent_records, stock_aging, late_payment_reminder, attendance_auto_punch, enterprise_theme.
·themes_roadmap, themes_quality_fix, hotel, transport, construction, dashboard_builder, audit_log, import_export, quotation_followup, debrand_odoo.
·shopify_connector, store_publishing, store_payouts, pwa_push, pwa_ring_and_ios β 3 service-worker traps, CDN caching /web/service-worker.js blocks deploys.
Older modules
ISSUEsalon: management Β· quick_booking Β· pos_saloon. Sawera bug fixes are recorded in those files.
LIVEway4tech_logistics β Saif KSA logistics+manpower O19 MASTER. LIVE v19.[ip] devtest+devnew, origin/dev=b92080a. Full state = Β§0.0 in file. OPEN: client UAT + Waqar sign-off; billing bal SAR 15,136.
·sale_distributor, it_crm_reseller, sign_fix, custom_backend_theme, hrms_suite, letters_demo.
·bakery_test β 6 tenants, historical, superseded by Lena.
Leads
OPENtyler_fiji_construction β WARM. Prices SENT 08-19: USD 5,600 basics / 7,400 all five. FLOOR 5,000. AWAITING reply.
LIVEturkey_odoo19_community_leads_2026_08 β LIVE NEGOTIATION, quoted 3,500 floor 3,000 walk 2,800. β ZERO e-Fatura track record. Verify OCA 19.0 modules BEFORE Stage 1 money.
DONETurkish Odoo PRODUCT: product_spec Β· functional_detail β SPEC DONE, NOTHING BUILT. Odoo ships NO e-Fatura in any edition.
·jewelry_saurabh_upwork β Thailand jewelry by gram. ~10x price gap, warm exit, do not chase.
·Sales working drafts: _working/upwork_2026_08/ (22 files + INDEX.md), git-synced. Local mirror Documents\Upwork\.
·awais_multi_country_odoo14 β Odoo 14 Ent 4-country KSA/UAE/PK/Turkey. $20-80k.
·logixfy_partnership_inbound β Eshal/Logixfy partnership approach via the way4tech form. Soft call-first reply drafted, send status UNCONFIRMED β check the inbox first.
OPENaltara_sunil β Quoted $12,500. WALK 07-06, RE-ENGAGING. Traps: P1-only, own pricing, real AMC cap.
·Barry Jays: barryjays 3 commits UNPUSHED, Waqas must push. / pbsdealer, pbs_lessons, shop_down_crawler.
LIVEgnl / gnl_server β v17.[ip] LIVE. AWS pubkey-only.
Reference / runbooks
·odoo_websocket_gevent_port_proxy β Odoo "Disconnected" = proxy sends /websocket to 8069 but workers>0 serves it on 8072. Raising workers REQUIRES adding the route. Verify in odoo.log (werkzeug+500 vs longpolling), NEVER with curl.
·fleet_capacity_smtp_2026_09 β 587 OPEN on every server EXCEPT DigitalOcean (policy block, no firewall can lift it). Free capacity per box. devcynx is FULL; [ip] cloudpepper-saif is the vacant one.
·waqas_dev_machine β ZBook Firefly 14 G8, i5-1145G7 4c/8t, 48GB @3200 (upgraded 09-05). .wslconfig caps Docker to 6 CPUs/16GB. Power plan is FINE - don't touch. Docker Desktop is in AppData, not Program Files.
·devcynx_access Β· memory_bridge Β· eod_sod_workflow.
·devcynx_reboot_firewall_runbook β Tenants dark after a devcynx reboot? Hostinger UPSTREAM firewall re-activated. tcpdump=0 on eth0 = fix it in hPanel.
·kit_rpc_shell_wizard_access β SSH firewalled but portal.way4tech.com up? Drive the kit over RPC: wt.saas.server.shell.wizard.
·portal_shell_wizard β Cross-project fallback: run a shell on any kit-managed server. Devcynx = server_id 4. Payload ceiling ~30-40KB per call.
·npm_hostname_maintenance_500 β Force/undo a 500 on ONE hostname via NPM advanced_config. /root/*** on devcynx. β NPM needs a disable/enable cycle to regenerate nginx. β check stack siblings first.
·shopify_deploy Β· waqasriasatjutt_pat.
·wt_dashboards_canonical Β· server_troubleshooting.
·odoo_smtp_bounce_sender_rejected β π΄ portal sent 0 emails for 4.5 months. 553 'Sender address rejected' = envelope is bounce@domain. Fix = ir.mail_server.from_filter. SWEEP OTHER TENANTS.
DONEodoo_workers0_wedge_504 β π΄ 504 on EVERY tenant + container Up + odoo.log mtime old = kit cron wedged the single process. 3 outages. FIXED 09-03 with workers = 2 on the kit stack.
ISSUEportal_way4tech_oom_restart β kit conf needs limit_memory + limit_request.
·pos_qz silent-print.
OPENsalla_lead_declined_2026_08_09 β Zero Salla hands-on β skipped. Reinforces "memory-grep the platform before applying".
Odoo gotchas
·odoo_comodel_acl_breaks_whole_record β Access error naming ONE field = reference-data gap across many. Scan per USER not per group.
·odoo19_view_rules Β· odoo19_security_groups Β· odoo19_view_ids β O19 view + groups + xpath IDs.
·odoo19_model_data_gotchas β O19 ir.cron lost numbercall; invoice-line display_type is 'product' (truthy) so the old skip-guard drops every line; parent_path rejects unaccent.
·odoo18_unsearchable_field β Declare the field first.
·default_form_view_priority_name_hijack β _order="priority,name" hijack.
·docker_test Β· odoo_upgrade_sequence.
·pos_load_data_fields Β· pos_owl_reactive Β· component_structure.
·websites_portal_upgrade_gotchas β 2 silent-rollback patterns in O19.
·monthly_sequence_reset_pattern β Override _get_starting_sequence + _get_last_sequence_domain.
·analytic_distribution_precision_field β Companion analytic_precision Integer required.
·res_lang_date_format_asset_cache β After a date_format change, unlink web.assets_*.min.* + hard-refresh.
·search_existing_field_labels β Grep the candidate label before adding a new computed field.
DONEodoostore_local_build_toolchain β playwright fixed via greenlet reinstall; Docker engine needs elevation.
LIVEodoostore19_20_module_roadmap β evidence-verified build order + prices; 6 ruled-out ideas.
rendered 2026-09-10 15:32:26 UTC · auto-refresh 45s · passwords/IPs masked