β SaaS Kit live-first: portal.way4tech.com = truth. SSH root@[ip] β docker exec odoo19-saas-hrms. live_first_operating_model.
π¦ Trimmed 2026-08-31 β at 35KB this index was being truncated at session start, hiding the tail sections. Long-form originals kept verbatim in MEMORY_FULL_2026-08-31.md. Keep entries short; detail belongs in the topic file.
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.
·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)
LIVELena master: full_milestones_index Β· scope Β· dashboard_07_01 Β· m4_training Β· migration_07_10 β prod app + test.bakewithlove.bio BOTH LIVE. OPEN: prod orphan-FK cleanup, merge PR #12, Gabriel verify β M5.
LIVEMudon: feedback_round_08_02 β RESUME. LIVE devmudon crm [ip].0, all pushed. OPEN: WhatsApp 1-number-per-funnel blocked on client; Meta Lead Ads needs a Page token. β Deploy ONLY via kit shell wizard server 23; devmudon needs the CF proxy flip. Β· 3env_setup Β· enterprise_upgrade_07_05
LIVESawera Signature: sawera_signature_tenant β β
LIVE + DELIVERED 08-27. devcynx stack 16, tenant 261, 50 real PKR services. π 3 SHARED-module bugs fixed here β other salon tenants still run OLD code. β view changes need docker restart; footer view 2755 must keep its <data><xpath> wrapper.
OPENWT SaaS Kit hardening: wt_saas_kit_hardening_2026_08 β β NEXT BIG TASK. Plan APPROVED, build NOT started. Handoff: Documents/Spa/HANDOFF-saas-kit.md. π΄ ZERO BACKUPS EVER (254 tenants); 136/254 systemd_venv; 1,120 errors = 4 causes.
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.
LIVEportal.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 + verified. Rollback = NPM host 5 β odoo18-saas:8069. OPEN: device offline since 08-11 + 4 PINs unmapped.
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.
·pplus_delivery_price_rule_api β β RESUME. v17.[ip] on staging copy-aug-14. Mahdi approved rule pricing; last item = the shipping-per-product carriers badge. β 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.
ISSUEpaola_swiss_headless_odoo_lead β Christian/Paola headless BFF. Read Β§0.21 + Β§0.24 FIRST. Phase 2 + 2b PAID and BUILT. Parked on personal/phase2-contracts@014fb1c β client repo untouched by policy. π΄ client's own Odoo 502 for 10+ days, tell Ashvin.
ISSUEepc_core_automation β β
BUILT+PUSHED 08-17 v1.6.5 on stag-jul-20. Core/charge split DEFERRED by Greg to v20. NOT instance-tested. OPEN: batch-create/import bug offered, awaiting go.
·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 on 19.0@2293920 but the audit found 69 real findings β DO NOT publish as-is. Fixes 4/8 on tr-suite-audit-fixes@6b5d8d4, untested.
·odoostore19_20_new_industry_modules β β RESUME. 20 modules code-complete, 1603 tests. π΄ the 16 newer ones never finish installing (RC=255). Handover: Documents\odoo19_dev_tools\SESSION_HANDOVER.md. β decide w4t_ vs wt_ prefix first.
LIVEwt_project_pro β Project Pro $900 published 19.0@d1f1916 + live on portal.devcynx.com. O19 traps 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.
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 topology Β· vps4_two_instances [ip] share DB Β· vps4_hihomes_wkhtml limit_time_real=300 Β· property_manager_repo wito2 Β· property_api_translations ?ln= + lang active.
DONEera: whatsapp on_create+registry bump Β· matched_email location_id.ancestor_ids in towns_ids.ids Β· meta_pixel β
RESOLVED 08-04, new pixel + view 1503 repointed.
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.
ISSUEfeeds: import cron=14400 Β· html_entities ' patch not pushed Β· export Idealista+Kyero V3 Β· redrose Feed2 cron guards Β· silent_action gate is_cron_job Β· investspain_feed1 40001 retry TODO Β· move2spain Gemini INACTIVE.
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 v19.[ip] @fab84f5 (2026-08-28), 1108 tests, 254 tenants intact. Tooling: Documents\wtsk_dev_tools\SESSION_HANDOVER.md. β git status the server checkout before pulling. π΄ rotate the PAT (credential id 2 holds it in clear).
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 list_db=True Β· rename filestore Β· transfer standaloneβkit Β· 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
·way4tech_website Β· digital_stackers Astroβportal O19 Β· websites_portal Multi-tenant CMS v1.
LIVEwebsites_portal phases: 3 Β· 4 Β· 5 Β· 6a Β· resume LIVE.
LIVEwebsites_portal versions: v1_1 Β· v1_2 Β· v1_3 Β· v1_4 Β· v1_5 Β· live_deploy Β· dev_plan.
LIVEeshop Β· tools 16 live + 12 queued Β· react_portfolio / resume 135 pages Β· cynxsolutions 133 pages Β· fashionhub.
WT modules (sellable)
·db_backup_cloud $30 Β· recent_records $15 Β· stock_aging $25 Β· late_payment_reminder $10 Β· attendance_auto_punch 04:00 Β· enterprise_theme search fix.
DONEthemes_roadmap 17 shipped Β· themes_quality_fix 16 need polish Β· hotel O19 PUSHED @29d25ab $2000 (don't rewrite index.html) Β· transport Β· construction Β· dashboard_builder Β· audit_log Β· import_export Β· quotation_followup Β· debrand_odoo.
LIVEshopify_connector v19.[ip] Β· store_publishing Β· store_payouts β it is "Redeem" not withdraw; EUR 400 threshold; 30% cut Β· pwa_push LIVE $500 Β· pwa_ring_and_ios v19.[ip] LIVE β β 3 service-worker traps in that file (a CDN caching /web/service-worker.js blocks EVERY deploy).
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 v3 Β· 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 all-in, floor 3,000, walk 2,800. β ZERO e-Fatura track record β sell the approach, never a past project. Verify OCA 19.0 modules BEFORE taking 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 (Sean Craig, PBS-Odoo O17): barryjays β RESUME BLOCK AT TOP OF THAT FILE. 3 commits UNPUSHED β Waqas must push. NOT BUILT: LNS 0xA0 fix, ErrorβCreated label, report UNION, sync batch-commits. / pbsdealer / pbs_lessons / shop_down_crawler "site down 5m" = bot deep-crawl. Diagnosed 08-02, not applied.
LIVEgnl / gnl_server β v17.[ip] LIVE. AWS pubkey-only.
Reference / runbooks
·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
·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-03 13:13:47 UTC · auto-refresh 45s · passwords/IPs masked