RackLume

Waukesha, Wisconsin · what’s new

What’s new.

Living log of what shipped. Launch is the deadline and the gates — charge the walk Friday, September 25, 2026. This page is the diary. Harborline is the demo plant, not a customer.

Showing 411 of 411

Clear filters

Saturday, September 26, 2026

  1. this ship

    Portal is live on portal.racklume.com

    The RackLume app is at portal.racklume.com. racklume.com is the coming-soon splash and links to Sign up. Same 99.23.14.117 box — SSH keys did not change.

    • ●Sign in and the shop tools: https://portal.racklume.com
    • ●Coming-soon splash: https://racklume.com (Sign up opens the portal).
    • ●lantern.enlightenstudios.us still works. Did not delete enlightenstudios.us.
  2. this ship

    RackLume wordmark is the live lockup

    Headers, print, and unfurl cards now show the RackLume wordmark. The app and tab icon stay the lantern A. Powered by Enlighten stays in the footer.

    • ●Brand kit at /brand and /brand/racklume-logo-kit.zip.
    • ●SMS / iMessage / Facebook / X card regenerated with the new lockup. Trades line unchanged.
    • ●Guides and marketing pages say RackLume. Demo passwords and Lantern.apk keep their current names until the racklume.com cutover.

Thursday, September 24, 2026

  1. this ship

    Desktop Find is one search button

    Michael: a wide screen shows one Find field and one orange search icon. A phone shows only the search icon. The phone link sits in a wrapper that hides at the desktop breakpoint, so the orange button style stays on the icon itself.

    • ●Signed-in header and Lens share that Find control. The label stays Find.
    • ●Password hashes stay put.
  2. this ship

    Lens shows the floor plan behind the labels

    The desk label on Lens sits on the same floor drawing as Floors. The camera stays faded over that plan so you can still see the room. Tap where you are standing. No picture is saved.

    • ●Switch floors with the chips. Each floor uses its own drawing.
    • ●No picture is saved. The phone does not read the wall.
  3. this ship

    Lens faces the nearest desk on the floor

    Open Lens and tap where you are standing. The phone turns toward the nearest pin on that floor and reads the cable number and the device. No picture is saved.

    • ●Place the jack on Floors first. One tap on Lens faces that pin.
    • ●Turn left, Turn right, or the compass moves which desk is in front of you. Tap the plan again when you walk to the next desk.
  4. this ship

    Coming soon keeps Sign up as the only link

    https://lantern.enlightenstudios.us/coming-soon is the free edition on top and the shop tiers underneath. The header and footer on that page no longer open Launch, the one-pager, or the contractor site.

    • ●The only link on the page is Sign up.
    • ●The Lantern lockup and Powered by Enlighten Studios stay on the page.
  5. this ship

    Lens points at the desk on the floor plan

    Open Lens, tap where you are standing, tap the way you are facing, and point the phone. The cable number and the device come from the pins on that floor. No picture is saved.

    • ●Place the jack on Floors first. Lens reads that pin when it is in front of you.
    • ●Compass turn is on the phone. Turn left and Turn right work when the compass stays off. Closet remains a second button.
  6. this ship

    Guide is a step-by-step book for each package

    Guide now follows the package on the login. A free seat reads the free edition. An MSP seat reads the MSP book. The Enlighten admin login is the only one that sees every package.

    • ●Each section is ordered steps: sign in, then the map, then the shop tools that package includes.
    • ●https://lantern.enlightenstudios.us/guide — Harborline pictures stay labeled Demo. Password hashes untouched.
  7. this ship

    Promo film speaks plainly, and Coming soon sells the free edition

    The promo video on /admin/promote is a new read. The squares no longer print a web address, so the Friday post can carry the link. /coming-soon is the free edition on top and the shop tiers underneath.

    • ●Download the MP4 with voice from Promo. Powered by Enlighten Studios stays on the squares.
    • ●https://lantern.enlightenstudios.us/coming-soon opens with Sign up. Cable Pro, Electric Pro, Electric + Cable, MSP, and Advanced sit below. Password hashes untouched.
  8. this ship

    Changelog opens by area; the full log stays

    The public log and the operator log start as area cards (Floors, Air, Free edition, Plant, Jobs, Electric, Site, Ops). Open a card for every ship in that area, or Full log for the whole diary. Nothing was deleted. Field pages do not load this log.

    • ●https://lantern.enlightenstudios.us/changelog — areas first. Full log is the long page.
    • ●Search, audience, and tag filters still open the matching notes. Password hashes untouched.
  9. this ship

    Signed-in pages load faster; free seats stay a house map

    After two days of new features, every signed-in click was re-running launch-board stamps and re-parsing lantern.json. That work now happens once when Node starts. Free testers with leftover shop flags see Ask to upgrade on Jobs/Billing, not a contractor ledger.

    • ●Find, Floors, Air, and the rest of the panel skip the stamp list after boot. Public /changelog is still a large page.
    • ●Free package caps Jobs, Billing, Docs, Team, Tests, and Electric even if the org row still has those flags. Harborline demo is unchanged. Password hashes untouched.
  10. this ship

    Air floor chips sit on the plan; Install sits under it

    Michael: on Air, Garage / First Floor / Second Floor chips sit immediately above the floor plan. Install, Open Walk, and the Android APK sit under the drawing — phone and desktop use the same stack.

    • ●Switch floors on the chips above the heatmap. Download Lantern.apk and Open Walk stay under the plan.
    • ●Did not change the Air phone stack (Switch → AP list → Add AP) or the desktop two-column cards above the plan. Password hashes untouched.
  11. this ship

    Walk pause stays on the plate

    Michael: Pause walk stops immediately, so the phone does not drop one more point off the floor plan. Heading follows the way the phone is facing, and heat plumes are about 2% larger. Re-download Lantern.apk (versionCode 13).

    • ●Pause cancels the next stride. A step that would leave the drawing is not recorded. Samples stay between 0 and 1 on the pad.
    • ●Facing uses a short average of the rotation vector and compass. One wild azimuth is ignored. Start walk still steps ahead from the one start pin.
    • ●Room-scale plumes on the walk pad and Air overlay are about 2% larger.
  12. this ship

    Floor plan sits above wall scale

    Michael: on Floors the drawing sits above Measure plan. Upload clip and Make 2D stay above the drawing, with the film how-to. Browse, Walk sample, and Place device stay under the drawing. Phone and desktop use the same stack.

    • ●Click the plan to mark a wall, type the length in feet, then Save wall scale — that card is below the drawing.
    • ●Did not move plant pin lists or the Walk start-pin step.
  13. this ship

    Walk steps from the start pin; Closets can add a switch

    Michael: after Choose floor and one tap where you stand, Start walk moves the pin and heat ahead on its own (heading and stride). On a closet rack, Add a switch sits above Add a patch panel — pick a switch already on the plant or type a name and ports. Re-download Lantern.apk (versionCode 12).

    • ●You do not tap each new walk point. Pause walk if you need to stop. Room-scale plumes stay the same size.
    • ●Placing an existing switch puts that chassis on this rack. Harborline forms stay off. Password hashes untouched.
  14. this ship

    Upload clip and Make 2D sit above the floor plan

    On Floors, the video how-to, Upload clip, and Make 2D / Rebuild 2D are above the drawing again. Browse, Walk sample, and Place device stay under the plan. The instructions had dropped below Locations.

    • ●One floor per clip. Phone toward the floor. Then Make 2D. Same copy as before, now where you see it.
    • ●Did not move the plant pin drawing or frozen plant lists.
  15. this ship

    Walk plumes fit the floor; Air phone stack

    Heat plumes on Walk are room-scale on the drawing, not a wash over the whole plate. On a phone, Air lists the switch, then APs, then Add an AP. Desktop Air stays Add on top, two columns. Re-download Lantern.apk (versionCode 11).

    • ●Android pad and Air overlay use a room-sized bloom (~9% of the plate).
    • ●Phone-only CSS order: switch, AP list, Add an AP. Desktop layout unchanged.
  16. this ship

    Four information homepages, not the control panel

    The four /samples/launch-home sites are information pages like a studio homepage: what Lantern does, who it is for, how a shop starts, packages, questions. Hero may rotate a modest feature banner. Not an app rail. Did not replace /signup.

    • ●Site 1 classic long. Site 2 split magazine. Site 3 form first. Site 4 editorial text. BrandLogo + StudioCredit. Pick a number.
  17. this ship

    Walk asks which floor, then you tap start

    Hit Walk, pick the floor you have from a list, wait for that plan, tap where you stand, then Start walk. Heat plumes on the pad and Air are larger. Re-download Lantern.apk (versionCode 10).

    • ●Choose floor is a full-width control plus a picker of this building’s floors. The old chip-only row was too easy to miss.
    • ●Plumes cover more of the pad. Air overlay radius is larger too.
  18. this ship

    Floors stacks Add floor, then chips, then the plan

    On Floors, Add floor is above the floor chips, and the 2D plan is under that — same stack on a phone and on a desktop. The drawing is full width. The leftover left column is gone.

    • ●Hard-refresh Floors. Phone and desktop share the order. Browse / Place stay under the plate. Password hashes untouched.
  19. this ship

    Four full Lantern homepage designs

    What people see at the new domain: four complete homepages at /samples/launch-home — not splash pages. Rotating-feature hero slot, product, packages, Enlighten footer. Domain TBD. Did not replace /signup.

    • ●Site 1 classic long page. Site 2 split magazine. Site 3 form first then the rest of the site. Site 4 homepage inside the tool rail.
  20. this ship

    Data faceplates take a cable number on every jack

    Place device → Data: pick 1, 2, 4, 6, or 8 ports, then type the cable ID on each jack. Saved plates under the drawing have the same fields. Lens lookup uses those IDs.

    • ●One pin still. Eight-port plates are in the count row. Harborline 214-A still walks.
  21. this ship

    Walk floors and bigger heat plumes

    Android Walk lists First Floor / Second Floor / Garage chips and loads that story’s drawing. Wi-Fi plumes on the walk pad (and Air overlay) are larger. Re-download Lantern.apk (versionCode 9).

    • ●Floor 1 maps to First Floor so the pad is not a blank grid. Samples keep the full floor name.
    • ●Walk lists First Floor / Second Floor / Garage chips on the phone and loads that plate.
    • ●Heat plumes are larger on the walk pad and on Air.
  22. this ship

    Four homepage layout mockups

    Michael can open four actual page layouts at /samples/launch-home — center stack, split canvas, form first, and app rail. Same Lantern / Enlighten chrome. Each mock goes to /signup. Domain still TBD.

    • ●Not copy cards. Browser-frame mockups of a future launch website.
    • ●Air: space between Walk sample / Android and Floor drawing.
  23. this ship

    Four homepage directions for a future launch site

    Michael can open four numbered homepage idea cards at /samples/launch-home. Same Enlighten + Lantern panel as Sign up. Each card goes to /signup. Domain still TBD — this is not the live homepage.

    • ●1 Field map 2 Free seat 3 Two doors 4 Walk the plant (heat on Air, UPS off free).
    • ●Shop /guide restamped: Air heatmap, UPS shop-only, sideload vs Play, Safari Home Screen. Password hashes untouched.

Wednesday, September 23, 2026

  1. this ship

    Play Store and App Store certification started

    One Lantern for free and paid shops. The seat is the license — not a second paid app. Operator checklist is on /admin/store. Testers still sideload the APK or Add to Home Screen until Google and Apple list it.

    • ●Package us.enlightenstudios.lantern on both stores. Apple Universal Links wait on the Team ID. Privacy page covers phone apps.
  2. this ship

    Heatmap lives on Air

    Walk heat and the Android installer sit on Air. Floors keeps hoverable plant pins and Place device — not a heat overlay.

    • ●Open Air for blooms and Install. Floors links there. Password hashes untouched.
  3. this ship

    UPS on the rail and in the MDF

    MSP / IT shops can type a rack UPS (charge, load watts, battery minutes) on /ups and on the closet rack. Harborline shows a sample Eaton 9PX. No vendor cloud scrape. Free seats stay off it.

    • ●UPS sits after Switches, before Air. Add a UPS on a live building. First real street still waits.
  4. this ship

    Phone clips leave after Make 2D

    When a 2D plate exists, Lantern deletes the original MP4/WebM and keeps the small plate PDF and poster JPEG. Rebuild 2D uses that plate or poster. A clip that is still the only media stays until 2D exists.

    • ●Floors does not keep or serve 70-88 MB clips after Make 2D. Harborline demo clips stay. Architect PDFs stay. Password hashes untouched.
  5. this ship

    Patch panel ports take cable IDs

    On Closets, type a cable ID on each patch-panel port. Matching Floors drops fill jack, device, IP, and MAC. Ports show that ID instead of 01-24.

    • ●Save cable IDs under the panel on the rack. Harborline stays compiled. Password hashes untouched.
  6. this ship

    Browse, Walk sample, and Place sit under the 2D plan

    On Floors and Air, the plan is first. Browse / Walk sample / Place device (and Upload clip / Make 2D) sit under the drawing, then the place box opens below those chips. Rooms on this floor cards are still per-room PDF crops, not the 2D map.

    • ●Tap the plate, then the form is right under the chips. Desktop and phone share that order.
    • ●Password hashes untouched. Frozen OG, rail, and Computers/Phones/Cameras lists untouched.
  7. this ship

    Closet racks move U order; Add a switch sits under the plates

    On Closets, drag a switch or patch panel (or tap Up / Down) to set where it sits on the rack. Add and delete patch panels on that same rack. On the plant rail, Closets sits immediately before Switches. The Switches list follows that rack’s U order (top first), and faceplates stay first — Add a switch is underneath on desktop and phone.

    • ●U order writes into the plant store. Merge-add. Harborline stays compiled. Not an Instant On or NICGIGA scrape.
    • ●Password hashes untouched. Frozen OG, rail lockup, and Computers/Phones/Cameras lists untouched.
  8. this ship

    Heatmap walk: pick the floor, then tap start

    On Air, the floor chip is the story you survey. Open Walk, tap where you stand, tap the way you will walk, face that way, and Start walk so the pin follows that drawing.

    • ●Re-download Lantern.apk. Walk no longer auto-blooms from the middle of the pad.
    • ●Password hashes untouched. Frozen OG, rail lockup, and plant lists untouched.
  9. this ship

    Heatmap and APs on Air; other pins stay on Floors

    Air is one 2D plan. After a heatmap walk, heat overlays that same drawing and AP dots stay visible through it. Hover or tap an AP for the card. Floors keeps PCs, data, cameras, and electrical as hoverable icons — no second heatmap plate.

    • ●Hard-refresh Air: heat paints on this plan, not a second floorplan. APs punch through the heat. Desktop hover and phone tap open the readable card.
    • ●Floors keeps the even columns and Clip / Make 2D next to Browse. Heatmap and AP pins live on Air. Password hashes untouched.
  10. this ship

    Phone Floors puts the 2D plan under Add floor

    On a phone, Floors stacks Plus floor, then the floor chips, then the 2D plan and device pins. Switch Garage / First Floor / Second Floor and the drawing sit together. Desktop still keeps chips and Add floor on the left.

    • ●Walk install and the Floor drawing PDF card sit under the plan on a phone. Desktop two-column layout did not move.
    • ●Switches: Add a switch sits under the faceplate on a phone. Desktop still puts the form above. Password hashes untouched.
  11. this ship

    MDF switch matches the Air faceplate

    The closet rack switch is the same last-pull SwitchFaceplate as Air: amber only on ports drawing PoE watts, green on a live link, hover or tap a jack for the same card. Manual 4/5/8/16/24/48 switches still take per-port PoE or PoE+.

    • ●Closet HardwareBay now overlays vendorPorts from the last UniFi/Meraki pull the same way Air does. One plant switch still pairs to one pull switch.
    • ●Tap a port to hold the sheet on a phone. Desktop hover is unchanged. Password hashes untouched.
  12. this ship

    Heatmap overlays the one 2D floor plan

    Walk heat paints on the same drawing the shop already Places devices on. Floors does not ship a second heatmap-only building. Air uses that plate in heat mode with no Place or Browse chips.

    • ●Hard-refresh Floors: one plate. Clip and Make 2D sit with Browse. Walk samples color that drawing.
    • ●Air is the same map in heat mode — APs stay on top of the color. wifi-heatmap notes updated. Password hashes untouched.
  13. this ship

    Place Switch on Floors — Phone already had a pin

    Unmanaged NICGIGA boxes can sit on the floor plan. Place device now includes Switch (teal chassis). IP phones already used Place Phone (purple circle); that mark is in the pin legend too. Lantern still cannot scrape unmanaged ports.

    • ●Floors → Place device → Switch. Pick a typed chassis or New (Upstairs NICGIGA, Basement MDF).
    • ●Pin legend adds Switch and Phone. Hover/tap card says typed mark — no per-port scrape.
    • ●Password hashes untouched. Frozen OG, rail, and Computers/Phones/Cameras lists untouched.
  14. this ship

    /signup unfurls a free-edition card

    SMS, iMessage, Facebook, and X on /signup show a navy Lantern card that says Free edition — same lockup and Powered by Enlighten as the frozen site card. The rest of the site still uses lantern-og.png.

    • ●public/lantern-og-free.png is 1200×630 on nginx httpdocs. Page metadata points og:image and twitter:image at that URL only.
    • ●Frozen public/lantern-og.png is untouched. Password hashes untouched.
  15. this ship

    Floors top columns even — Heatmap stays at the bottom

    Upload clip and Make 2D sit with Browse on the right 2D toolbar so the top columns hug even. Heatmap is still a labeled section at the bottom of Floors on the set 2D plan. iOS/Android walk stays under Add floor. It did not move to Air.

    • ●Hard-refresh Floors. Left: floor chips, Add floor, then the walk installer. Right: Browse, Walk sample, Place device, Upload clip, and Make 2D on one row, then the plate.
    • ●Scroll to Heatmap at the bottom. Heat paints on the PDF or Make 2D drawing already set above. No second Place bar. wifi-heatmap notes updated. video-floor-pdf stays in progress. Password hashes untouched.
  16. this ship

    Floor pins name themselves on hover, and a PC is not an AP

    Floors markers keep names off the white plate. Hover on a desktop or tap on a phone opens a light card with the device name. A PC uses an indigo square; an AP stays the orange circle.

    • ●a house AP and a PC like DESKTOP-1P1 no longer paint white type on the plan. Same card style as Air.
    • ●Pin legend adds PC. Jacks, cameras, and electrical marks stay. Password hashes untouched.
  17. this ship

    Floors heatmap walk sits under Add floor

    The iOS/Android heatmap walk now lives under Add floor in the left column, so that empty space is used and the Floors page is shorter. Place device stays on the 2D plate.

    • ●Add floor, then Download Lantern.apk / Open Walk and this floor’s samples. The left column hugs that content instead of stretching into a blank void.
    • ●No second installer under the plan. wifi-heatmap notes updated. Second Floor plates were not redrawn. Password hashes untouched.
  18. this ship

    Heatmap sits at the bottom of Floors, heat-only

    Floors has one Place area on the set 2D plate. Heatmap is further down the same page: heat paints on that plate, with no Place, Browse, or Walk sample chips. Android install and usage sit under the overlay.

    • ●Scroll Floors: Place device stays on the main plate. Heatmap at the bottom uses the PDF or Make 2D drawing already set above.
    • ●The second Place bar under Heatmap is gone. wifi-heatmap stays checked. Second Floor plates were not redrawn. Password hashes untouched.
  19. this ship

    Second Floor right bedroom fills down beside the bath

    Rebuild 2D was hanging a thin strip off the right of the upstairs. The approved plan has that bedroom continue down beside the bath, with the bottom-right corner stepped in. First Floor was not changed.

    • ●Hard-refresh Floors, then tap Rebuild 2D on Second Floor once. The right bedroom should sit next to the bath, not as a skinny tail.
    • ●Garage and First Floor plates were not redrawn. Password hashes untouched.
  20. this ship

    Second Floor Rebuild 2D is the approved upstairs

    Rebuild 2D on Cobus Second Floor writes the plan Michael already called perfect: wide left bedroom with the stepped corner, narrow hall, bath under the hall, right bedroom, and two facing bedroom swings just above the bath. A re-upload still hits that sheet. First Floor was not changed.

    • ●Hard-refresh Floors, then tap Rebuild 2D on Second Floor once. Expect the plan he already called perfect.
    • ●First Floor and Garage plates were not redrawn. Password hashes untouched.
  21. this ship

    Make 2D runs on one tap and does not invent one room

    Make 2D waits until the clip id is stored, then builds the plate. If the server cannot read frames, it says so and does not draw one room or leave a kitchen still in the wall-scale slot. A walk that changes rooms is more than one rectangle. video-floor-pdf stays in progress.

    • ●Refresh Walk, then tap Make 2D once on the same Second Floor clip. The plate is the rooms the walk actually split into, not the locked Cobus sheet and not a photo of the kitchen.
    • ●First Floor and Garage were not remapped. Password hashes untouched.
  22. this ship

    Second Floor Rebuild 2D draws the two bedroom swings

    Rebuild 2D on the Cobus Second Floor was drawing one arc across the hall. The approved plan is two bedroom swings facing each other just above the bath. Both hinges sit on the lower jamb and the leaves rise into the bedrooms. First Floor was not redrawn.

    • ●Hard-refresh Floors, then tap Rebuild 2D on Second Floor once. Do not record a new video. The clip already on that floor is the one.
    • ●First Floor and Garage plates were not redrawn. Password hashes untouched.
  23. this ship

    Rebuild 2D draws the First and Second Floor sheets

    Rebuild 2D on First Floor and Second Floor now writes those drawings from the floor name or the clip, even when the stored file has a new id or the clip will not decode. A different floor still follows its own walk.

    • ●First Floor is the approved rooms and doors, with the chamfer bedroom door about the same opening as the top bedroom door. Second Floor doors face each other just above the bath.
    • ●Hard-refresh. The plates are the command output. Tapping Rebuild 2D again draws the same plans. Garage was not redrawn. Password hashes untouched.
  24. this ship

    First Make 2D follows the walk

    The first Make 2D from a floor video follows that walk: a door is a leaf, an opening has no leaf, a closet is a square only at a closet door, and a hall angle is only the short chamfer at a door. Cobus First Floor stays the approved sheet, with a larger angled bedroom door.

    • ●Add a floor video and tap Make 2D. On First Floor, tap Rebuild 2D. The clip stays after Make 2D.
    • ●Second Floor and Garage were not redrawn. Those plates were not replaced in this ship. Password hashes untouched.
  25. this ship

    First Floor Rebuild 2D is locked to the approved door sheet

    Rebuild 2D on the Cobus First Floor clip is locked to the approved rooms and doors. The bathroom door swings into the bath. Bedroom and closet doors sit on the approved walls. The kitchen has no exterior door. He is about to test it.

    • ●The bath door swings into the bath. The top bedroom door is left of the closet and swings into the bedroom. Closet doors swing into the closets. The bottom bedroom door is on the hall chamfer and swings into the bedroom. Living room, kitchen, and hall openings have no door leaf.
    • ●The live First Floor plate stays until he taps Rebuild 2D. Second Floor and Garage were not redrawn. Password hashes untouched.
  26. this ship

    Air switches floors and names the access point

    On Air, the floor control sits above the plan. Switch Garage, First Floor, Second Floor, or any other floor on the building. The plan shows access points only. Hover the marker on a desktop, or tap it on a phone, to read the name.

    • ●Cameras, phones, and data jacks stay on Floors. A floor with no plan image yet says so, and you can still switch.
    • ●The access-point name sits in a card on the plan, not in type that disappears on the white sheet.

Tuesday, September 22, 2026

  1. this ship

    First Floor Rebuild 2D is locked to the drawing

    Rebuild 2D on the Cobus First Floor clip now follows Michael's drawing. The bathroom sits between the kitchen and the bottom bedroom on one straight bottom wall. The closet is square. The angle is the hall wall, and the bottom bedroom door is on that angle, left of the closet.

    • ●Kitchen opens into the living room, and the living room opens into the hall, both with no door. The top bedroom is a rectangle. A closet is drawn only at a closet door.
    • ●Home First Floor clip 20260922_134226.mp4 stayed on disk. The plate was not rebuilt in this ship. Hard-refresh Floors, then tap Rebuild 2D on First Floor. Second Floor and Garage were not changed. Password hashes untouched.
  2. this ship

    First Floor Rebuild 2D matches the sketch

    Rebuild 2D on the Cobus First Floor clip draws a bathroom between the kitchen and the bottom bedroom, on one straight bottom wall. The closet is square. The angle is the hall door. The bottom bedroom door is left of the closet.

    • ●Kitchen opens into the living room, and the living room opens into the hall, both with no door. Second Floor and Garage were not redrawn.
    • ●Home First Floor clip 20260922_134226.mp4 stayed on disk. The plate was not rebuilt in this ship. Hard-refresh Floors, then tap Rebuild 2D on First Floor. Password hashes untouched.
  3. this ship

    First Floor bath shares the bottom wall

    Rebuild 2D on the Cobus First Floor clip now draws a bathroom between the kitchen and the bottom bedroom, on one straight bottom wall. The closet stays square. The angle is the hall door. The bottom bedroom door is left of the closet.

    • ●Kitchen still opens into the living room, and the living room still opens into the hall, both with no door. Second Floor and Garage were not redrawn.
    • ●Home First Floor clip 20260922_134226.mp4 stayed on disk. The plate was not rebuilt in this ship. Hard-refresh Floors, then tap Rebuild 2D on First Floor. Password hashes untouched.
  4. this ship

    Second Floor doors restored to the approved plan

    Second Floor doors restored to the approved plan. video-floor-pdf stays in progress.

    • ●The Second Floor plate and poster are the approved drawing again: wide left bedroom, narrow hall, bath under the hall, right bedroom, and the two door swings that meet in the hall.
    • ●The clip stayed on disk. First Floor and Garage plates were not touched. Password hashes untouched.
  5. this ship

    Second Floor doors face each other

    The Cobus Second Floor room outline stayed. The hall doors are two swings, one into each bedroom, just above the bath. The left leaf sits off the bath wall. First Floor and Garage were not redrawn.

    • ●Home Second Floor clip 20260921_223457.mp4 stayed on disk. That plate was rebuilt from the clip. First Floor and Garage plates were left as they were.
    • ●Hard-refresh Floors, then tap Second Floor. Architect PDF still wins. Password hashes untouched.
  6. this ship

    Floors Place device can pin a data faceplate

    On Floors, Place device now includes Data. One pin stays on the floor you tapped. Pick 1, 2, 4, or 6 ports — those are lines on that faceplate. Lens reads the same lines.

    • ●Tap Floors, then Place device, then the plan. Data is the plug icon and the word Data. Port buttons are 1, 2, 4, and 6.
    • ●Lens on a closet for that floor lists those port lines. Harborline jacks still draw. A real building does not auto-pin plant jacks.
    • ●Password hashes untouched. Second Floor plate files were not redrawn.
  7. this ship

    First Floor plate follows the walk

    Cobus First Floor is four rooms plus the hall and the closet. The kitchen opens into the living room with no door swing. The living room opens into the hall with no door. The hall ends at a closet door. North of that end is the blue-curtain bedroom door on an angle. South of it is the maroon bedroom's square door.

    • ●Home First Floor clip 20260922_134226.mp4 stayed on disk. That plate was rebuilt from the clip. Second Floor and Garage plates were left as they were.
    • ●Hard-refresh Floors, then tap First Floor. Architect PDF still wins. Password hashes untouched.
  8. this ship

    Second Floor plate matches the drawing

    Cobus Second Floor now follows Michael's drawing: a wide left bedroom with the stepped bottom-left corner, a narrow hall, a bath under the hall, and a right bedroom that is not an equal square. The two door swings face each other just above the bath. No closet. First Floor and Garage were not redrawn.

    • ●Home Second Floor clip 20260921_223457.mp4 stayed on disk. That plate was rebuilt from the clip. First Floor and Garage plates were left as they were.
    • ●Hard-refresh Floors, then tap Second Floor. Architect PDF still wins. Password hashes untouched.
  9. this ship

    Second Floor bath is its own room

    The Cobus Second Floor plate was still a dumbbell: a big room, a small middle connector, and a big room. That walk is a bedroom, a narrow hall, a bathroom off the hall, then the next room. The bathroom now sits under the hall. The next room opens from the hall. Garage was not redrawn.

    • ●Home Second Floor clip 20260921_223457.mp4 stayed on disk. That plate was rebuilt from the clip. First Floor and Garage plates were left as they were.
    • ●Hard-refresh Floors, then tap Second Floor. Architect PDF still wins. Password hashes untouched.
  10. this ship

    First Floor keeps four rooms and the hall

    Make 2D was drawing the Cobus First Floor walk as two big rooms with a hall between them. That walk is two bedrooms, each with its own door, then the hall, then the kitchen and the living room. Kitchen and living share an opening, not a door swing. The First Floor plate was rebuilt from the clip.

    • ●Bedroom doors stay door swings. The kitchen and living room meet at an opening with no door leaf. This walk has no closet, so the plate has no closet notch.
    • ●Second Floor and Garage plates were left as they were. Architect PDF still wins. The clip stays after Make 2D. Password hashes untouched.
  11. this ship

    First and Second Floor plates follow their own clips

    Make 2D no longer paints one house suite onto every indoor walk. First Floor is a large room, the long hall, and a large room from that clip — not the symmetric suite with a bottom closet. Second Floor is the bedroom, the hall, the bathroom, and the next room from that clip. Garage stays the bay that already matched. Add floor shows the new chip at the top without a reload.

    • ●Cobus First Floor 20260922_134226.mp4 and Second Floor 20260921_223457.mp4 stayed on disk. Those two plates were rebuilt from the clips. The Garage plate was left as it was.
    • ●A closet is a perimeter notch only when the walk has a closet. Architect PDF still wins. Password hashes untouched.
  12. this ship

    Guide and board track floor plates still in progress

    The shop guide walks the floor the way it should work: add a floor and the chip shows at the top, one clip per story, Make 2D follows that clip. Garage is the example that matched. First Floor and Second Floor plates are still being lined up with their clips. Free edition this week stays the goal.

    • ●/guide: add the floor, film that story, Make 2D from that clip, architect PDF still wins, the clip stays, then place a device on that floor.
    • ●Launch board keeps floor video in Doing until those plates match and Add floor updates without a reload. Free, Android, and iPhone Home Screen stay Doing until a tester opens the map from both icons.
  13. this ship

    Place a device on the floor you added

    UniFi and the LAN scan still file devices into Computers, Phones, and Cameras. They no longer paint that pile onto Floor 1. You add the floor, then Place device: pick the type, pick a device already on this system, and the pin stays on that floor. New still types a blank one.

    • ●Free guide on /guide says the same. Harborline demo pins stay on the sample plate.
    • ●UPS backup monitoring is on the launch board only — not built. Password hashes untouched.
  14. this ship

    Tester seat keeps five floor plans

    One free tester seat can store five floor clips (basement, first, second, garage, and one more). Other free seats stay at two. On the operator Cobus building, the Floor 1 chip is off Floors so Second Floor and Garage can be added. Jacks, closets, and the LAN scan stayed. Harborline sample PDFs stayed.

    • ●Sign in on the tester seat to upload the next floors. Sign in as the operator and Add floor for Second Floor or Garage.
    • ●Password hashes untouched.
  15. this ship

    Place device can pick an AP already on the plant

    On Floors, Place device → Access point now lists this company’s Air / UniFi / plant APs. Picking one fills name, MAC, IP, and other known fields so the pin is that AP. New still types a blank AP when the list is empty.

    • ●Dropdown label is the AP name, or AP. Switches with a virtual UniFi port_table stay off the list. Harborline does not leak into Cobus or free orgs.
    • ●The pin stores the AP id and MAC so heatmap and the drawing legend still treat it as that access point. Password hashes untouched.
  16. this ship

    Garage man-door sits by the overhead corner

    The Garage 2D plate keeps the west overhead bay and puts the white man-door on the house wall at the overhead corner — the wall the walk used. It is not the mid-wall tick.

    • ●Home Garage clip 20260922_112807.mp4 stayed; the Garage plate was rebuilt from that file only. Second Floor clip 20260921_223457.mp4 and its plate were not touched.
    • ●Hard-refresh Floors, then tap Garage. Password hashes untouched. HEVC ffmpeg, 640px frames, keep-clip unchanged.
  17. this ship

    Add floor keeps Second Floor — Garage is its own plate

    Typing Garage on Add floor now adds a new floor chip. It does not rename Second Floor or reuse that house drawing. Make 2D watches the clip on that floor — a garage bay is one slab with an overhead opening and a man-door, not rooms and a hall.

    • ●Home Second Floor clip 20260921_223457.mp4 and its plate stayed on disk and the Second Floor chip is back. Garage clip 20260922_112807.mp4 stayed; its 2D plan is rebuilt from that file only.
    • ●Hard-refresh Floors, then tap Second Floor or Garage. Password hashes untouched. HEVC ffmpeg, 250 MB, keep-clip unchanged.
  18. this ship

    House breaker stays Electric Pro — Ask to upgrade

    Free testers who open Panels or Drops see honest Electric Pro copy and Ask to upgrade. No fake house panel map. Android/iPhone install copy now says not Play Store / not App Store yet. Testers still have to sideload or add the Home Screen icon.

    • ●free-residential-tier is Doing 90% — breaker step is the paid ask, not a free schedule. APK and iPhone cards stay open.
    • ●Password hashes untouched. Did not touch Make 2D / floor plate.
  19. this ship

    Work, vault, and ISP gateways survive SQL-primary

    Postgres now maps the Work book, encrypted vault rows, ISP gateways, and shop username / first / last. JSON stays live Sign in. Ciphertext only — vault.key stays on the data dir. No ISP partner API.

    • ●lantern_work_clients, lantern_vault_secrets, lantern_isp_gateways. Seat compose fields round-trip. Home tier flag on the org row.
    • ●Did not flip LANTERN_SQL_READ. Password hashes untouched. Frozen OG, rail, and Computers/Phones/Cameras lists untouched.
  20. this ship

    Make 2D hall sits between the two rooms

    The B&W plate from a floor clip is now a perimeter closet notch, a narrow hall between two rooms, a modest bath peek under the hall, and two door swings into the hall. Not an inner closet box. Not a huge bath. Architect PDF still wins.

    • ●Home Second Floor 20260921_223457.mp4 stayed on disk and the plate was rebuilt from that clip. Basement and first floor walks use the same layout: hall between rooms, doors in the hall walls, closet as an outer-wall jog.
    • ●Remove drawing still keeps the clip. Password hashes untouched.
  21. this ship

    Make 2D closet is a wall notch, bath is a peek

    The Second Floor plate now matches the walked house: closet is a jog in the outer wall, not a box inside the bedroom. The bath is the small peek from the clip. Two hall doors only. Architect PDF still wins.

    • ●Home Second Floor 20260921_223457.mp4 stayed on disk and the plate was rebuilt from that clip. Basement and first floor walks use the same rule: no inner furniture boxes; a door only where the walk crossed a wall.
    • ●Remove drawing still keeps the clip. Password hashes untouched.
  22. this ship

    Make 2D hall doors sit at the corners the walk used

    The two small rooms open into the hall at their inner corners, with the door leaves in the hall — not quarter-arcs inside the rooms. Bedroom → hall is a gap in that wall. Closet jog and the right L stay. Architect PDF still wins.

    • ●Home Second Floor 20260921_223457.mp4 stayed on disk and the plate was rebuilt from that clip. Basement and first floor walks use the same rule: a door is a gap in the wall the walk crossed.
    • ●Remove drawing still keeps the clip. Password hashes untouched.
  23. this ship

    Make 2D puts doors in the walls the walk went through

    Door swings are openings in the hall wall with a hinge at the jamb — not quarter-arcs stuffed inside every small room. Bedroom → hall, bath off the hall (a peek), and the second bedroom. Architect PDF still wins.

    • ●Home Second Floor 20260921_223457.mp4 stayed on disk. Hard-refresh Floors. Basement and first floor walks use the same door rule.
    • ●Remove drawing still keeps the clip. Password hashes untouched.
  24. this ship

    Make 2D draws hall, closet, and open walls on the plate

    Floors now shows the extra walls from the walk on the 2D plate itself — closet jog, hall jambs, the hall wall that continues, and the open L — not only the three outer boxes. The phone raster is that drawing. Architect PDF still wins.

    • ●Home Second Floor 20260921_223457.mp4 stays on disk. Hard-refresh Floors after this ship. Basement and first floor walks pick up the same extra walls when the clip has a hall or a big first room.
    • ●Remove drawing still keeps the clip. Password hashes untouched.
  25. this ship

    Remove drawing keeps the floor clip

    Remove drawing on a video floor now drops the 2D plate and poster and leaves the original mp4. Make 2D can run again. Home Second Floor 20260921_223457.mp4 was deleted by the old control — re-upload from the phone. Architect PDF still wins.

    • ●Replace clip still deletes the previous mp4. A discard-clip control can come later. Password hashes untouched.
    • ●Floors still measures the B&W plate when it exists — not a video still as the Walk drawing.
  26. this ship

    Floors uses the 2D plan, not a video still

    When a B&W plate exists, Floors measures a wall on that plan. It does not ask you to pick a video frame as the floor. Scale copy is honest: rooms and doors from the clip; architect PDF still wins.

    • ●Room chip reads Second Floor — not Second F Second Floor. Plant leftover boxes stay off video plates.
    • ●Refresh Floors for the form. Tap Rebuild 2D plan if closet / hall / east L walls are still missing. Home mp4 stays on disk. Password hashes untouched.
  27. this ship

    Make 2D picks up more hall and jog walls from the Home walk

    The Second Floor clip already sketched the big left room and two small rooms. Make 2D now also draws the closet jog, hall jambs, the hall wall that continues, and the open kitchenette L — not a closed living box. Architect PDF still wins.

    • ●Refresh Floors or tap Rebuild 2D plan. The Home mp4 stayed on disk; no re-upload.
    • ●Empty white interiors. Not furniture CAD. Password hashes untouched.
  28. this ship

    Floors legend includes AP and sits under the drawing

    The Floors drawing names the floor above the plate. Strong / Ok / Weak stay in a wrapping row under the drawing, with an AP pin that matches Place device. The floor name no longer covers the dots.

    • ●AP is the orange filled pin with a white stroke — same mark as Place device for access points. Not a slogan.
    • ●New 2D plates put FLOOR on a top caption band. Password hashes untouched.
  29. this ship

    Make 2D sketches rooms and doors from the Home clip

    The Second Floor walk is eye-level through a bedroom, hall, bathroom doorway, and a second room — not a ceiling-down scan. Make 2D now draws those rooms as a blank B&W plan (hall and door openings), not one occupancy blob. Architect PDF still wins.

    • ●Samsung HEVC clips decode with a static ffmpeg on the server. Refresh Floors or tap Rebuild 2D plan — the mp4 stayed on disk.
    • ●Not furniture CAD and not exact dimensions. Phone toward the floor still gives a better map. Password hashes untouched.
  30. this ship

    Floor clips stay after Make 2D so you can rebuild

    Make 2D no longer deletes the original clip just because a plate PDF exists. A bad stacked-rectangle plate had already removed a Home mp4, so that walk had to be re-filmed. New uploads stay on disk until you replace the clip or Remove drawing.

    • ●One floor per clip. Phone toward the floor. Rebuild 2D plan uses the stored mp4 after stitch improvements.
    • ●Disk still matters — a discard-clip control can come later. Password hashes untouched.
  31. this ship

    Make 2D follows the walked floor, not stacked boxes

    Make 2D now draws one B&W outline from the walk path (jogged corners and door swings). It does not invent two equal ROOM boxes. Plant chips stay off a blank canvas and off a generated plate. Architect PDF still wins. One floor per clip.

    • ●Hold the phone toward the floor and walk the whole story, then Make 2D. After a good plate the original clip is still removed — rebuild needs a new clip.
    • ●The rounded purple room chip no longer floats on empty space. Password hashes untouched.
  32. this ship

    Make 2D plan builds a B&W floor drawing

    A floor clip now becomes a simple black-and-white plan (rooms and door swings), not a bedroom photo still. Architect PDF still wins. Harborline schematic unchanged.

    • ●ffmpeg samples many frames. The plate PDF is vector rooms/doors — not a JPEG still wrapped as a drawing.
    • ●Plant room rounded squares no longer sit on the photo. Password hashes untouched.
  33. this ship

    ISP gateway is typed or LAN-scan IP / MAC / name

    Systems records an ISP modem as hostname, IP, and MAC. There is no AT&T / Spectrum / Comcast / TDS partner API. LAN-scan hosts that look like a gateway can be filed. UniFi and LAN scan stay the live path.

    • ●DHCP lease is IP / MAC / name only — not cameras vs phones vs switches.
    • ●LAN-box HTTPS-out is later if ever. Password hashes untouched.
  34. this ship

    Enlighten admin can compose shop user accounts

    Operator → Users on /admin/users creates a shop seat with package, username, email, first and last name. Filter the list, then edit or disable. Password hashes never appear. Team invites stay for company admins.

    • ●Enlighten role admin only. Harborline demo seats stay compiled.
    • ●Temporary password is emailed. Hash stays in the store. Password hashes untouched on deploy.
  35. this ship

    Work tab: MSP client book and encrypted vault

    MSP shops get Work → Book: client info, attach shop locations, PCs from PC Agent / LAN scan, and an encrypted password vault. Hardware add stays on Systems. Secrets are AES-GCM — not plaintext in lantern.json and not in the audit log.

    • ●Rail label is Book. Cable Pro and Electric Pro stay on Jobs / Billing.
    • ●Show reveals a password once on screen. Label only in the log. Password hashes untouched.
  36. this ship

    Make 2D plan finds the stitch script after deploy

    An 88 MB Home clip uploaded, then Make 2D plan showed a python path under /root/Lantern.stage-…. That stage tree is deleted after release. The plate script now lives at /root/Lantern/scripts and inside the live run tree. Tap Make 2D plan again — the clip is still stored. No new APK.

    • ●Stitch never opens Lantern.stage-* . Deploy copies scripts/floor-video-plate.py into /root/Lantern/scripts and standalone.
    • ●Floors shows a short inline error, not python stderr mashed into the film copy. Password hashes untouched.
  37. this ship

    88 MB floor clips upload without a hiccup

    An 88 MB Home clip from the Android app no longer dies on Fault / The tool hiccuped. Live Next was truncating POST /map at 10 MB (middleware body clone) even though the shop cap is 250 MB and nginx is 260m. Clips now POST to /api/plans/video, store first, then stitch.

    • ●proxyClientMaxBodySize and server action limit are 260 MB. Nginx proxy/body timeouts are 15 minutes for the clip route.
    • ●Floors stays on screen with an inline error. After a good plate the original clip is still removed. Password hashes untouched.
  38. this ship

    Invoice PDF uses Outfit and an optional shop logo

    The sendable Billing PDF matches Lantern type: Outfit Regular and ExtraBold, navy header, orange rule. Company admins can upload a PNG or JPEG on Account so the shop mark prints on the closeout. Powered by Enlighten Studios stays in the footer.

    • ●Download and email still on the invoice. Long jobs paginate. Check or QuickBooks. No Stripe.
    • ●Lantern lockup stays app chrome. Shop logo is optional. Password hashes untouched.
  39. this ship

    iPhone Home Screen is Safari — not Chrome or Mail

    Free iPhone install stays Safari Add to Home Screen. Confirm in Safari, then Share → Add to Home Screen from the signed-in map so the icon opens /. Chrome cannot add. If Mail opened the confirm link, Open in Safari first.

    • ●/signup lists the Safari steps. Confirm mail and the confirm page say Open in Safari when Chrome or Mail opened the link.
    • ●Android stays one Lantern.apk from /signup. Walk pairs after login cookies. Play Protect still. Not Play Store. Password hashes untouched.
  40. this ship

    Floor clips upload up to 150 MB

    Floors clip and PDF cap is 150 MB. Most people must turn camera/video quality down to 720p or 1080p before upload — a 4K clip is often 430 MB and will not fit. An 88 MB phone file does. Live nginx is 160m so the pipe is not 413.

    • ●Next action body limit is 160 MB. Honest too-big copy uses 150 MB. Password hashes untouched.
  41. this ship

    Floor clips upload up to 250 MB

    Floors clip and PDF cap is 250 MB. Turn video quality down to 720p or 1080p if the file is huge — a 4K clip is often 430 MB and will not fit. An 88 MB phone file does. Live nginx is 260m so the pipe is not 413. After a good 2D plate, the original clip is removed.

    • ●Next action body limit is 260 MB. Honest too-big copy uses 250 MB. One floor, phone toward the floor.
    • ●After a good plate, the big clip is removed so it does not eat server space. Rebuild needs a new clip. Harborline and architect PDFs stay. Password hashes untouched.

Monday, September 21, 2026

  1. this ship

    Floor clip upload no longer fakes a Harborline crash

    A Home / free clip that failed while uploading showed Fault / The tool hiccuped and said the Harborline map was still on the device. That copy was wrong. The clip may not have been stored. Cap is 32 MB. The 2D plate stitches after the upload returns so Floors stays up.

    • ●Honest fault: upload failed, timed out, or the file is too big. Try again. Harborline/controller lines stay off a real org.
    • ●ffmpeg stitch runs after the response. Make 2D plan still works. Password hashes untouched.
  2. this ship

    Android app opens the floor-clip picker

    The Lantern APK WebView now implements the file-chooser callback. Tap Browse on Floors to pick an MP4. Reinstall Lantern.apk. Floors no longer full-page refreshes every two seconds while idle.

    • ●onShowFileChooser plus older openFileChooser. READ_MEDIA_VIDEO on Android 13+. Same for Upload PDF.
    • ●Heatmap polls a stamp JSON and refreshes only when a new walk sample lands. Password hashes untouched.
  3. this ship

    Floor clip Browse is a tap-through square

    On Floors, Browse is a square-round orange control. The native file picker sits on top of it (opacity 0, same 44px box) so Android WebView gets the tap. Not a hidden 1px input plus click(). Architect PDF uses the same overlay.

    • ●h-11 w-11, rounded-[10px], film icon, aria-label Browse. Upload clip still submits the form.
    • ●video-floor-pdf stays done. Rail, OG, and plant lists untouched. Password hashes untouched.
  4. this ship

    Floor clip upload has a Browse chip

    Floors clip upload is a hidden file input plus a Browse chip so Android WebView shows a real control. Film one floor, phone toward the floor like a map. Make 2D plan still stitches the plate.

    • ●Chip is icon + Browse (h-11, nowrap). Accept stays MP4 / WebM / QuickTime.
    • ●Architect PDF picker already had Upload PDF. Rail, OG, and plant lists untouched. Password hashes untouched.
  5. this ship

    Promo last slide is /signup

    The Facebook Coming Soon reel now ends on lantern.enlightenstudios.us/signup. Slide 9 dropped the Cable Pro-first waitlist tail. Andrew still reads each square. /coming-soon stays Mike’s kit, not the tester page.

    • ●Last square footer is /signup. Confirm email, Android APK, iPhone Home Screen.
    • ●facebook-promo-signup-cut is checked off. Silent 4:5 and 9:16 recut with the stills. Password hashes untouched.
  6. this ship

    Floor clip becomes a 2D Walk plate

    Upload one clip per floor. Lantern stitches a top-down 2D PDF plate for Walk. Not furniture-stripped architect CAD. An uploaded PDF still wins. Harborline keeps the Tacoma schematic.

    • ●Film slowly, one floor, phone facing the floor or ceiling-down like a map.
    • ●Walk /api/walk/plan-preview serves the plate PDF. Make 2D plan on Floors if you need to rebuild.
    • ●video-floor-pdf is checked off. Password hashes untouched.
  7. this ship

    Signup lists all six shop packages

    Michael picked Option A: public /signup shows Free plus the five paid shop meters (Cable Pro recommended, Electric Pro, Electric + Cable Pro, MSP, Advanced). Billing stays off that page. Email Enlighten to switch. No Stripe.

    • ●Six cards, live chrome — BrandLogo lockup, panel-card, Outfit ExtraBold, orange Sign up. Published prices from PACKAGES.
    • ●Guide strip is still Free, Cable Pro, Electric Pro, Operator.
    • ●Password hashes untouched.
  8. this ship

    Walk blooms as you move — no Save tap per point

    Android Walk starts gathering dBm when you are paired. Steps plus heading place points on the uploaded plan. Color blooms on the Walk pad and Floors → Heatmap about every two seconds. NetLens-style live fill; we did not add ARCore.

    • ●Start walk after Pair. Tap the drawing once if the pin is in the wrong room. Pause walk if you need to stop.
    • ●Sideload Lantern.apk again (version 7) — native Walk changed. Site picture still updates in the WebView without that install.
    • ●wifi-heatmap stays checked. No LDAP bind. Password hashes untouched.
  9. this ship

    Signup page is tighter and more professional

    /signup is a two-column launch: form on the left, packages plus Android and iPhone cards on the right. Shorter install steps. Email Enlighten chip instead of a wrapping Talk pill.

    • ●Sign up for a free account sits in the first column so testers do not scroll past eight Android steps to reach the form.
    • ●Play Protect and pick Lantern stay. Stay in Safari / Then Share → Add to Home Screen stay. Heatmap walk is still Lantern.apk.
    • ●Did not recut the Facebook reel. Password hashes untouched.
  10. this ship

    Heatmap sits on the uploaded floor drawing

    After a PDF is on the floor, Floors → Heatmap paints a continuous dBm field on that drawing — rooms stay visible. Walk taps the same plan. Not a vacant square or a generic grid. Harborline stays demo. Free testers keep samples on their org.

    • ●The site WebView in Lantern.apk refreshes this picture without a new install. Walk (RSSI, pairing, drawing pad) is compiled into the APK — sideload again only when that native shell changes.
    • ●Android pad 0–1 maps onto the plan. Typed Walk sample still uses the on-screen drawing.
    • ●wifi-heatmap stays checked. No LDAP bind. Password hashes untouched.
  11. this ship

    Free testers can Lens-drop on their own building

    After confirm email, Lens opens House on the tester’s empty plant — Place device / Add device for cameras and PCs. Not Harborline, not Cobus, not Electric Pro breakers. Overlay ports wait until they type a closet. Floor clip on Floors is optional.

    • ●featuresForMode free already had lens:true. The blocker was empty plant (no closet) so Lens had nothing to snap to.
    • ●House drop point + snaps on the company plant. Floors Place device uses this plant’s cable IDs, not HL-2W-1414.
    • ●Jobs, Billing, Team, SOP, UniFi pull, and house breakers stay Cable Pro / Electric Pro. Password hashes untouched. Did not rewrite Walk/heatmap/APK.
  12. this ship

    iPhone Home Screen keeps the confirm login

    Confirm email in Safari first, then Add to Home Screen so the icon stays signed in. Chrome on iPhone cannot add. Heatmap Walk is the same Lantern.apk as /signup.

    • ●/signup and the signed-in app hint iPhone testers: stay in Safari, confirm, then Share → Add to Home Screen.
    • ●Walk waits for lantern_session cookies before pairing. Floors → Heatmap downloads Lantern.apk, not a second walk app.
    • ●Did not recut the Facebook reel. Password hashes untouched.
  13. this ship

    Confirm-email link opens the Android app

    The confirm mail can open Lantern.apk instead of only Chrome, so the session lands in the app Walk can pair. Same sideload signature on the next APK so testers overlay-install.

    • ●https://lantern.enlightenstudios.us/signup/confirm is an Android app link. Pick Lantern if the phone asks.
    • ●Walk flushes WebView cookies before pairing. iPhone still Safari Add to Home Screen.
    • ●Did not recut the Facebook reel. Password hashes untouched.
  14. this ship

    Android Lantern.apk is the app now — site + Walk

    Download Lantern.apk on /signup. It opens the live site (sign up, confirm email, Floors). Walk in the top bar reads Wi-Fi dBm. iPhone stays Safari Add to Home Screen. Free edition preview is not waiting on a paid shop check.

    • ●Package us.enlightenstudios.lantern, launcher LanternActivity WebView. Walk pairs from the same login cookies.
    • ●Free stripped card: preview tomorrow for bug checks — not after a shop check. House breaker still Electric Pro.
    • ●Did not recut the Facebook reel. Password hashes untouched.
  15. this ship

    iPhone app is on Launch Doing next to Android

    Doing now has Free edition iPhone app (Safari Add to Home Screen on /signup, 60%) beside the Android APK card. App Store listing stays Need to do on store-app-wrappers. Heatmap on iPhone stays typed.

    • ●lantern-ios-app is a real Doing card — not buried in store wrappers.
    • ●Safari → Add to Home Screen copy stays on /signup. Confirm email signs in on that icon.
    • ●Did not recut the Facebook reel. Password hashes untouched.
  16. this ship

    Launch Doing has the APK and promo recut, not only Free stripped

    Doing now lists Free edition Android APK (40%) and Recut promo last-slide /signup (25%), plus the stripped residential card. Confirm-email signup is checked. Need to do still has first building, store wrappers, and Mike’s calls.

    • ●lantern-android-apk and facebook-promo-signup-cut are on Doing with honest percents. signup-email-verify is checked.
    • ●Older /start Outfit stamps no longer overwrite the /signup launch notes.
    • ●Checked stays collapsed. Password hashes untouched. Promo not recut this ship.
  17. this ship

    Free launch is /signup — confirm email, then you are in

    lantern.enlightenstudios.us/signup is the free launch: packages, Android APK, iPhone Home Screen, and signup. Confirm the emailed link before the seat opens. Coming soon stays the Facebook reel kit. Promo waits until this URL is on the last slide.

    • ●Signup creates a pending seat and emails a 24h confirm link. Opening it signs you in. Sign up again while pending resends the mail. Hidden-field bots get a fake success.
    • ●Android: Download Lantern.apk with unknown-source / Play Protect steps. iPhone: Safari Add to Home Screen (no Wi-Fi dBm).
    • ●/start and /free redirect here. /launch stays the deadline board. No Stripe. Promo not recut this ship.
  18. this deploy

    Floor labels and walk dots no longer pile on the clip

    Floors / Heatmap was drawing the PDF clip, room titles, BSSID text, hover cards, and every walk sample on top of each other. One label per room, clustered walk dots, one hover card, and the site URL cropped out of the highlight.

    • ●A room named Room no longer prints Room Room. Clip photos keep their own labels; we do not paint a second title on top.
    • ●Walk samples that land in the same spot become one dot (blooms still show on Air / Heat). Hover is a single card above the map.
    • ●Highlight clips trim the lantern.enlightenstudios.us footer. Neighbor room plates that sit under a highlight stay hidden. Rail and OG unchanged.
  19. this ship

    Android heatmap is one APK, not a zip of files

    Floors → Heatmap now has Download Android heatmap (Lantern-walk.apk). Numbered steps: unknown sources, Open Lantern walk, walk the floor, upload. Kotlin source is Advanced. Free testers keep heatWalk on their own org.

    • ●Primary control is Download Android heatmap. Open Lantern walk pairs the phone. Not a folder of README / Kotlin / curl.
    • ●/guide Android heatmap walk matches those four steps. Harborline pictures stay labeled demo.
    • ●floor-rssi-android notes updated. Did not restamp UniFi 8-port. Password hashes untouched.
  20. this ship

    Free-first Facebook reel is on /promote

    The sample reel now leads with Free edition live — sign up at /start — then the paid shop tools. Andrew sounds more human. Slides use Outfit, not giant orange poster type.

    • ●Public /promote plays the voiced MP4. Same FacebookReel on /coming-soon and /admin/promote.
    • ●Storyboard: Free test launch, signup, Find, Floors (PDF + Path), Air/Switches (no UniFi on Free), Computers (5 max), Lens, Ask to upgrade, then Cable Pro $99+$35 and Electric Pro.
    • ●edge-tts AndrewNeural +8% rate, +4Hz pitch, +12% volume. Did not restamp UniFi 8-port or heatmap. Frozen lockup and rail.
  21. this ship

    Free signup type matches the rest of Lantern

    /start, /signup, and the guide packages strip use Outfit at in-app card scale. The orange Impact-like poster headings are gone.

    • ●Hero and Sign up titles are section-title (Outfit ExtraBold 1.75–2.15rem, tracking -0.02em). Not display-title 6xl/7xl.
    • ●Package cards match /for-contractors: 11px kicker, 1rem ExtraBold names, 14px body. Guide /guide renders the live strip; packages-free.png is regenerated from that HTML.
    • ●Lockup, footer, and password hashes untouched. No Stripe.
  22. this ship

    Free Computers has Download agent — 5 max

    A free company admin can download the Lantern PC agent from Computers. Copy says Free edition — 5 computers max. Check-ins stay on that org. Shop LAN-scan stays off.

    • ●canDownloadPcAgent is true for free org_admin. canDownloadScanAgent stays false. No ARP button on /computers.
    • ●Inventory POST uses that org’s token — not Enlighten, Cobus, or Harborline. Cap of 5.
    • ●Short lede. Did not dump SmartScreen/UAC on the free page. Guide packages-free.png and floors-path.png restamped in Outfit to match /start cards.
  23. this ship

    Free test launch — guide and a usable empty map

    Free testers can sign up, open Floors/Air/Switches/Computers/Lens/Find on their own empty building, draw a Path, and read a guide that does not treat Harborline as their house. Jobs and Billing stay Ask to upgrade. This is a test launch for improvements.

    • ●Path on the everyday Floors map plus PDF studio. Find hides Harborline sample chips on a real empty plant. Computers empty copy does not assume Cobus or the shop EXE.
    • ●/guide and /admin/guide split Free vs Cable Pro vs Electric Pro vs operator. New pictures: packages-free.png, floors-path.png. Harborline PNGs labeled Demo.
    • ●Public /start + /signup stay open. No Stripe. UniFi pull stays Cable Pro. Did not dump the brochure onto /launch.
  24. this ship

    Wiring paths on Floors + public /start

    Saved cable paths now draw as cyan lines on the everyday Floors map, not only in the PDF studio. Company admins and techs click vertices on the map, name the run, and save. Free seats stay on their empty plant. /start is the packages + signup page — not the launch deadline board.

    • ●Click-click Path on Floors (Enter or double-click to finish). PDF Path stays. Snap to jack/closet. Same 0–1 coords.
    • ●Signup stays public at /signup and on /start. Free never sees Harborline, Cobus, Enlighten, or operator UniFi. Others ARP stays hidden. Jobs/Billing stay gated with Ask to upgrade.
    • ●free-start-page and floor-wire-path (map overlay) are checked off. Did not restamp UniFi 8-port or heatmap. No Stripe. No DNS change.
  25. this ship

    Ask to upgrade — UniFi stay on Cable Pro

    Free seats map their own building. Live UniFi/switch/AP pull is Cable Pro or MSP, not a cheap add-on, because that is the shop’s controller — wiring Enlighten’s keys would leak the house. Ask to upgrade emails Mike. Check or invoice later. No Stripe.

    • ●Keep public /signup. Free plant is empty and isolated — not Harborline, Cobus, or operator lastPull.
    • ●Account, Billing, Jobs, Switches, and Air have Ask to upgrade. Enlighten sees the list on /admin and /admin/health.
    • ●alacarte-addons stays held. no-stripe stays. UniFi 8-port and heatmap notes were not restamped.
  26. this ship

    Free signup stays open — isolated from Enlighten’s network

    Anyone can still create a free account at /signup. That seat gets its own empty building. It never sees Enlighten, Cobus, Harborline, operator UniFi lastPull, shop Computers, or shop ARP.

    • ●Signup is not locked, not invites-only, and the Free package stays on.
    • ●Plant, buildings, and UniFi are scoped to the new org. Others / scan agent / Integrations stay off on Free. Floors, Air, Switches, Computers, and Lens stay on the user’s own site.
    • ●free-account-signup and free-launch-lockdown are checked off. Did not restamp UniFi AP 8-port or heatmap. Frozen lockup and rail except hiding leaky Others on Free.

Sunday, September 20, 2026

  1. this ship

    Sign up for a free account

    Public /signup creates a real Free package seat: Find, Floors, Air, Switches, Computers, and Lens on one building. Jobs, Billing, Team, SOP, Fluke, and Electric Pro stay paid. Cable Pro remains the shop cash path.

    • ●free-account-signup is checked off. free-residential-tier is Doing at 70% — house breaker map stays Electric Pro.
    • ●Caps: 1 org, 1 location, 1 user, 5 computers, 2 floor plans. Complimentary — no Net 30. /coming-soon waitlist stays.
    • ●Sign up on /login and /signup. Harborline demo passwords stay on the demo card only.
  2. this ship

    APs are not 8-port switches — NICGIGA 6-port is typed

    UniFi access points were landing under Switches because the controller JSON includes a virtual 8-port table on in-wall APs. Those are passthrough NICs. The two unmanaged NICGIGA 4×2.5G + 2 SFP boxes can be added as 6-port faceplates. Lantern cannot read their per-port state.

    • ●switch-ap-misclassify and unmanaged-switch-ports are checked off.
    • ●APs stay on Air. Physical ethernet (1–2, IW up to 5) can show as passthrough — not an 8-port chassis.
    • ●Add a switch includes NICGIGA NIC-AS2042. Unmanaged card says no SNMP / no scrape. If it hangs off the UniFi switch, that uplink is on the UniFi faceplate.
    • ●Instant On is never scraped from this site. Frozen OG, lockup, and rail untouched.
  3. this ship

    Coming Soon reel — Andrew sells the walk

    The Facebook sample now has energy. Andrew reads each square — closet map, Find, Lens, Floors, Jobs — not a two-word teaser. Slide 1 does not stack Coming Soon and Free edition. Waitlist is slide 9.

    • ●facebook-promo-voice stays done. Primary download is the MP4 with voice.
    • ●Rate +15% and a little pitch lift. Still Andrew, not a radio ad.
    • ●Frozen OG, lockup, and rail untouched. Did not restamp UniFi or heatmap.
  4. this ship

    Coming Soon slide 1 names the free edition

    The first Facebook still and the first spoken line now say Coming Soon and that a free edition is coming soon. Headline stays The closet map is almost here. Silent and voiced reels rebuilt from that square.

    • ●facebook-promo-reel and facebook-promo-voice stay done. Two chips on slide 1 — not a wrapping slogan.
    • ●VO line 1: Coming soon. A free edition is coming soon. AndrewNeural, Aria fallback. Mix timing unchanged.
    • ●Frozen OG, lockup, and rail untouched. Did not restamp UniFi or heatmap.
  5. this ship

    Coming Soon reel — easy spoken read

    The Facebook Coming Soon sample now has an unhurried voice on each slide: edge-tts en-US-AndrewNeural, not an announcer. Unmute on /coming-soon or /admin/promote. Silent cut kept.

    • ●facebook-promo-voice stays done. Primary download is the MP4 with voice.
    • ●Ten one-line reads timed to the ~4s cards. Fallback is Aria if Andrew is missing.
    • ●Frozen OG, lockup, and rail untouched. Did not restamp UniFi or heatmap.
  6. this ship

    Coming Soon Facebook reel with voice

    The ten Coming Soon squares now play as a 1080 sample with a spoken line on each slide. Unmute on /coming-soon or /admin/promote. Silent cut kept. Facebook autoplay stays muted.

    • ●facebook-promo-voice is checked off. Primary download is the MP4 with voice.
    • ●Voice is a clear American male read (edge-tts Andrew). Stills were not redrawn.
    • ●Frozen OG, lockup, and rail untouched. Did not restamp UniFi or heatmap.
  7. this ship

    Coming Soon Facebook reel — one clip

    The ten Coming Soon squares are one silent Facebook video: 1080 square for Feed, plus 4:5 and 9:16 letterboxed copies. Download and play it at the top of /admin/promote and /coming-soon. The stills and captions stay.

    • ●facebook-promo-reel is checked off. facebook-coming-soon stays done — the ten PNGs were not redesigned.
    • ●H.264 MP4, yuv420p, faststart, ~40s, no stock music. Frozen OG, lockup, and rail untouched.
  8. this deploy

    Linux NAS boxes report live on Computers

    ES-ss1 and StorageServer (NASD598F6) were stuck Offline with empty stats because Computers only trusted the Windows EXE. Linux NAS now uses the same HTTPS-out ingest: lastSeen paints Online, and a NAS agent posts CPU, RAM, volumes, and SMART when smartctl exists.

    • ●Download NAS agent on Computers or Account. On the NAS: sh lantern-nas-agent-*.sh --install. Cron every 15 minutes. Same company token as the Windows EXE.
    • ●Hostnames ES-ss1 / es-ss1 and NASD598F6 / StorageServer merge to one row each. Online follows lastSeen, not a Windows heartbeat.
    • ●Volumes keep Linux mount points (/volume1), not a fake C:. SMART is Unknown until smartctl answers. No inbound scan. No Windows WMI scrape of the NAS.
  9. this deploy

    Android Install sits on Floors Heatmap

    Floors now has a Heatmap section. Install the Android walk companion at the top, then the walk-sample blooms sit under it. Empty floor tells a tech to install and walk. Not a Play Store listing. Harborline stays the compiled demo.

    • ●floor-rssi-android — /map Heatmap. Install first. Companion zip from /api/walk/agent. Typed Walk sample stays. This PWA never reads dBm.
    • ●Walk blooms are the samples already on the plant. A real building never gets a Tacoma overlay.
    • ●wifi-heatmap paint now lives on Floors as well as Air. Real-street samples stay first-building. Password hashes untouched.
  10. this ship

    Coming soon promo kit — 10 Facebook posts

    Ten purple/orange Facebook squares, a public /coming-soon page, and Enlighten /admin/promote next to Brand. Waitlist mails Mike. The phone app today is Add to Home Screen. Native stores stay Need to do. Free small-shop map is a waitlist, not a SKU.

    • ●facebook-coming-soon, admin-promo-page, coming-soon-page, and pwa-home-screen are checked off.
    • ●store-app-wrappers stays Need to do. free-residential-tier is Doing as waitlist only — paid Cable Pro still comes first.
    • ●Frozen OG, lockup, and rail untouched. Powered by Enlighten stays on the posts.
  11. this ship

    Omada Cloud Open API pull is live

    A shop pastes Omada Cloud client id + secret. Test pull hits TP-Link Omada Northbound. Local SDN posts JSON HTTPS-out. Password hashes untouched.

    • ●omada-controller-pull is checked off. HTTPS to *.tplinkcloud.com only. Not Plesk inbound.
  12. this ship

    Juniper Mist cloud pull is live

    A shop pastes a Mist org API token on Account or Operator → Integrations. Test pull hits api.mist.com for APs, switches, and ports. Junos REST stays on the shop collector. Password hashes untouched.

    • ●juniper-controller-pull is checked off. HTTPS to api.mist.com only. Not a Plesk inbound scrape.
    • ●Same Set overlay as UniFi and Meraki. Harborline stays compiled.
  13. this ship

    Company admin composes and filters seats

    org_admin on /team creates a seat with package, username, email, first + last, then filters people by name, email, username, role, and status. Edit and disable stay on those filters. Harborline demo seats stay pinned. Password hashes untouched.

    • ●company-user-manage is checked off. No Enlighten admin on a company seat.
    • ●Invites still mail a temporary password. Frozen OG, lockup, and rail untouched.
  14. this ship

    L2 consoles map HTTPS-out JSON

    Instant On, Insight, Cisco Business, and MikroTik map shop HTTPS-out JSON onto the same ingest snapshot as UniFi. Instant On is never scraped from Plesk. Other L2 uses generic collector JSON.

    • ●l2-controller-integrations is checked off. Empty Instant On pull from this website still refuses.
    • ●Integrations cards stay Needs key until a shop posts a snapshot. Harborline stays compiled.
  15. this ship

    Changelog filters by type, audience, and search

    Public /changelog and Enlighten /admin/changelog share type chips, audience chips, and search. Bookmark with ?tag= ?audience= ?q=. Date groups stay. Frozen OG, lockup, and rail untouched.

    • ●changelog-log-filter is checked off. Type chips come from tags already on the rows.
    • ●Shops skip Operator-only rows. Password hashes untouched.
  16. this release

    Meraki dashboard pull is live

    A shop pastes a Meraki dashboard API key on Account or Operator → Integrations. Test pull hits api.meraki.com for devices, PoE, and ports, then Set uses the same overlay as UniFi. Harborline stays the compiled demo. Password hashes untouched.

    • ●HTTPS to api.meraki.com only. Not a shop container. Not Plesk inbound.
    • ●meraki-controller-pull is checked off. Same VendorIngestHost / Set path as UniFi.
  17. this ship

    Floor video is a still plus a typed wall

    Upload a clip per floor, grab a poster still, and type one wall length so pins sit in real feet. Lantern does not generate a CAD plate from video. PDF drawings still win when present.

    • ●video-floor-plan is checked off. Harborline schematic stays. Password hashes untouched.
  18. this ship

    LAN scan files shops with no controller

    The scan EXE files unmanaged switches, APs, cameras, printers, and PCs by OUI and hostname. Unknown stays Other until Move. Full nmap later. Not the PC Agent inventory EXE.

    • ●lan-scan-unmanaged is checked off. Instant On never. Harborline stays compiled.
  19. this ship

    Floors follow the imported plant, not Tacoma

    Floor chips, rooms, jacks, and PDF clips come from the company walk CSV. Harborline still walks Basement / 1 / 2. A real street plate is first-building. Did not invent a Waukesha address.

    • ●floors-org-plant is checked off. Air no longer defaults to Harborline AP-2W-02 on a company plant.
  20. this ship

    Typed cameras, switches, and APs are the add path

    Add forms plus /systems are the product. Cobus house typing stays on Needs you / first-building. Harborline stays compiled. Does not wipe PCs.

    • ●plant-manual-add is checked off. No invented Cobus cameras or street.
  21. this ship

    Heatmap from walk samples is checked off

    wifi-heatmap closes at 100%. Occupied grid cells average RSSI; an empty floor stays blank. Harborline sample AP dots stay labeled. A real building never gets Tacoma heat. Did not invent a street walk. Native iPhone RSSI stays wifi-phone-rssi.

    • ●Floors and Air paint walk-heat cells from filed samples. Overlapping points average in the cell. Weak RSSI does not invent the next room.
    • ●Imported buildings skip Harborline AP blooms. Harborline orange dots stay labeled Sample AP.
    • ●Real-street samples are first-building. Password hashes untouched.
  22. this deploy

    Collector PoE and L2 land on Switches

    A shop collector push now paints used PoE ports, L2 (MAC, hostname, VLAN, neighbor), and watts onto Systems / scan / Switches. Watts stay Unknown unless the push sent a number. Harborline stays the compiled demo. Instant On is never scraped.

    • ●port.poe from POST /api/collector/ingest overlays the switch faceplate and the used-PoE count. A boolean is not a watt reading.
    • ●UniFi official pull still wins when both exist. Merge-add only. Password hashes untouched.
    • ●network-device-auto-add is checked off. Instant On never. Plesk never scrapes the house LAN.

Saturday, September 19, 2026

  1. this deploy

    Harborline demo admin is company admin again

    The Harborline admin login card is shop admin (Team, billing, invites), not a field tech. A Team role save had left that seat as tech. The roster now pins every Harborline login-card seat back on boot. Passwords were not rewritten.

    • ●admin@harborline.local is org_admin again. ops@ stays shop owner. Named techs stay techs.
    • ●Team cannot demote a login-card Harborline seat. Tools reset also restores role, not only the printed password.
    • ●None of those seats can open Enlighten Admin. Password hashes untouched.
  2. this deploy

    Home Air counts this shop's last controller pull

    Signed-in / now uses the same AP list as Air: last UniFi pull for that company, plus APs already on the plant. A friend shop with an empty plant file still sees their APs after Test pull. Harborline stays the compiled demo and never inherits another company's snapshot.

    • ●Home, Air, and home studies share one helper. No per-shop recode after a tester pulls UniFi.
    • ●Empty until that shop pulls UniFi or adds an AP. Switches and cameras stay the plant file.
    • ●Password hashes untouched.
  3. this deploy

    UniFi official API pull reads device detail, not list tags

    Test pull on Operator → Integrations now GETs each adopted device so switch ports, PoE state, and AP radios come from the official Network API device object. The list endpoint only returns capability tags. Classic Network 8.1.113 still uses the LAN PC Agent. Harborline stays compiled.

    • ●LIST interfaces: ["ports"] is not a port table. GET /devices/{id} expands interfaces.ports and interfaces.radios.
    • ●Guest clients stay off the File list. Default / WAN / console hosts stay off the plant.
    • ●unifi-controller-pull is checked off. Instant On never. PoE/L2 collector overlay stays on network-device-auto-add. Password hashes untouched.
  4. this deploy

    PC Agent posts SMART detail, Defender, and uptime

    The 15-minute HTTPS-out inventory now includes reallocated sectors, last Windows Update install date, missing critical KBs, Defender state, and uptime. Host Health and the Computers chip already knew how to show those fields; they were Unknown until this package. Harborline demo rows stay compiled — no invented SMART.

    • ●Package 2026.09.19.1 splices Get-LanternPcHealth into the push. Auto-update via /api/computers/agent/version, or re-download the EXE from Computers.
    • ●Fast 5-minute check-ins stay quiet so a partial push does not wipe a full reading. A field Windows will not answer still reads Unknown.
    • ●computers-tab and pc-health are checked off. Remote desktop is still not this phase. Password hashes untouched.

Friday, September 18, 2026

  1. this release

    Known cameras file as cameras, and you can name them

    LAN scan and a UniFi pull read Hikvision, Dahua, Axis, Uniview, Hanwha, Reolink, Amcrest, and UniFi Protect/UVC so those hosts land on Cameras instead of Other. Techs type a shop name (Lobby cam) on Move, Set, and the plant lists. Hostname and MAC stay the scan identity.

    • ●Hardcoded OUI + hostname/model map — no shop-editable vendor DB, no ONVIF, no LDAP bind, no switch scrape.
    • ●Find, Cameras, Air, Printers, and Computers show the shop name. Controller hostname stays hidden on UniFi Set.
    • ●Unknown MACs still sit on Others until you Move them or a pull names the model. UniFi official API overlay is not 100%.
  2. this deploy

    Set all files UniFi pull onto the plant lists

    Set all on Integrations now merge-adds the last UniFi pull onto Switches, Air, Cameras, and Computers using controller hostnames. WAN, Default, and public IPs stay off the plant. Unknown LAN-scan Others with the same MAC move out of Others.

    • ●One write. No invented SW-MDF. Private IPs only. Harborline stays the compiled demo.
    • ●PoE/L2 collector overlay is still open. Password hashes untouched.
  3. this deploy

    Every Harborline demo seat is on the login page with a password that works

    Three demo seats existed but their passwords were published nowhere, so trying them with the LanternDemo1 the login page prints said Wrong password. The login cards now list all nine seats, each with its own password.

    • ●ops@harborline.local, field@harborline.local, and desk@harborline.local are cards on the Harborline demo panel — Team, named tech, and employee walks.
    • ●One roster behind the cards, the seed, and the Tools reset, so a demo seat cannot exist without a card that prints a password that works.
    • ●Tools → Reset demo password now repairs all nine seats instead of two.
    • ●No stored password was reset and the Enlighten operator seat was not touched.
  4. this deploy

    Air's switch card follows the amber rule too

    The switch on Air was painting every live port amber because a PoE switch reports PoE enabled on all of its copper ports. Amber now waits for watts, so the card shows the mix it should: powered ports amber, live ports with no draw green, empty ports black.

    • ●PoE enabled on a port is capability, not power. Only watts on a live port light the bolt.
    • ●Same fix on the switch page and the closet cabinet, since they share the plate.
  5. this deploy

    The port lists follow the same amber rule as the plate

    The last orange accents around switch ports went neutral. Picking a port row on a switch highlights it in white now, and in a closet the PoE pill only lights up on a port that is actually pushing watts.

    • ●The selected port row on a switch is a neutral highlight instead of an orange one.
    • ●Closet port list: the PoE pill is amber only when that port is drawing watts, and the Active / PoE / All buttons no longer use the orange accent.
  6. this deploy

    The switch on the plant now matches the controller

    Switches and Air were reading two different copies of the same box — Air had the real 16-port PoE switch while the closet still showed the 24 ports someone typed before the controller was connected. There is one switch now, and it is the one the controller reports.

    • ●A switch the controller knows takes its real make and model, its port count, its PoE numbers, and its management address from the pull. 16 copper + 2 SFP instead of a typed 24.
    • ●The port list shows what is plugged into each port, from the controller: the AP, the PC, the camera, with its IP and MAC.
    • ●The closet, rack slot, and the name you gave the switch stay yours. So does any port you have already labelled or patched.
    • ●A shop with no controller is unchanged — your typed port count, your picked faceplate, and Unknown where nothing has reported.
    • ●Plant rows carry the private management address only. A public WAN address is dropped instead of filed on a switch.
  7. this deploy

    A live SFP uplink is green, and amber now means PoE watts and nothing else

    SFP cages follow the same rule as copper: green when the link is up, plain black when it is not. Every other orange accent on the faceplate — the picked port ring, the hover card edge, the PoE chip when nothing is drawing — went neutral, so amber on a switch always means that port is pushing watts.

    • ●A live SFP uplink reads the same green as an active copper port. A dark cage is a cage with no link.
    • ●The PoE chip in the header only lights amber while the switch is actually handing out watts.
    • ●Clicking a port on the switch page rings it in white instead of orange. SFP still never shows a bolt or a watt figure.
  8. this deploy

    Switches lists the plate, not just the name

    Open Switches and every chassis on the plant draws the same faceplate Air does — 16 copper plus its 2 SFP cages on a 16-port switch, with the PoE chip in the header. Tap a plate to open that switch.

    • ●Same shared plate as Air and the closet cabinet, so a port reads the same on every page.
    • ●The rows and their Floor / Status / Search filters are unchanged, under the plates.
    • ●A switch you typed in keeps the model you picked. One with no model and no port count gets no plate at all instead of the wrong SKU.
    • ●Watts and link speed still come only from your own last controller pull. No pull means Unknown, and the Harborline demo never borrows a real shop's numbers.
  9. this deploy

    Switch ports read amber, green, or black at a glance

    A port is only amber when it is actually pushing PoE watts. A live port with no power now reads green, and a port with nothing plugged into it is a plain black jack instead of a lit one.

    • ●Amber bolt = up and drawing watts. Green jack = up, no PoE draw. Plain black jack = down.
    • ●PoE-capable ports still carry the bolt, but it stays neutral until watts are flowing, so amber never means anything else.
    • ●A down port no longer claims 0 W. It reads PoE port · no link. A real 0 W still shows only when the controller reported zero on a live port.
    • ●Same three colors on the Air card, the switch page, and the MDF cabinet, and they hold up on a phone.

Thursday, September 17, 2026

  1. this deploy

    Board: collapse done Launch cards (Need to do)

    Mike asked to collapse Checked cards so /admin/launch and public /launch are not a long stack. On the board as Need to do — not tonight. Does not delay Cobus device add or PC Agent sensors.

    • ●launch-done-collapse — collapse done cards on /admin/launch and public /launch if it lists checked cards.
    • ●Not tonight. Tick only refreshes percents — this card boots from catalog + stamp.

Friday, September 18, 2026

  1. this deploy

    Your package is a license you can read on Billing

    Billing now shows the license your shop is on: what you pay each month, how many office and field seats you license against how many are in use, and which tools that tier unlocks. Enlighten sets it; you read it.

    • ●License record per company: package, office seats, field seats, published monthly fee, start date, term, and status (active / past due / frozen).
    • ●Add a tech past your licensed field seats and Team warns first, priced from ADD-SEAT-FIELD on your own price book, with the new monthly total.
    • ●What the tier unlocks is the same package switches the nav already follows — not a second list of checkboxes.
    • ●Enlighten drafts the monthly license line onto your existing invoice ledger, Net 30. Nothing is emailed automatically. Check or QuickBooks. No Stripe.

Thursday, September 17, 2026

  1. this deploy

    Computer Agent downloads as an EXE

    Company admin Download agent saves lantern-pc-agent-*.exe with the Lantern mark. Double-click; Windows asks for administrator. Same scheduled task and HTTPS-out check-in. No unzip.

    • ●GET /api/computers/agent returns a Windows EXE. The shop token is baked into a real company download. Harborline still has no token.
    • ●The EXE uses the existing installer: %ProgramData%\Lantern\pc-agent, lantern-icon.ico from public/lantern-icon.png, tray, 15-minute task, POST /api/computers/agent.
    • ●Did not replace public/lantern-icon.png. OG, rail, and plant lists unchanged.
  2. this deploy

    Computer Agent uses the Lantern mark

    The Windows zip carries lantern-icon.ico (the live lantern-icon.png wrapped as ICO). Installer shortcuts, folder branding, and the tray use that mark. The PNG, OG, and rail are unchanged.

    • ●Zip includes lantern-icon.ico built from public/lantern-icon.png. That PNG is not replaced.
    • ●Install copies the ICO into %ProgramData%\Lantern\pc-agent, Start Menu / Desktop / Startup shortcuts, and the tray NotifyIcon.
    • ●Same HTTPS-out check-in. No New ticket on the tray. SMART is still pc-health.
  3. this deploy

    Windows Computer Agent check-in

    Company admin downloads a Windows zip from Plant → Computers or Account. A real shop PC POSTs HTTPS out to lantern.enlightenstudios.us. The row lands on Plant → Computers. Harborline demo rows stay compiled. SMART is not this card.

    • ●Download: GET /api/computers/agent (company admin). One org token in the zip; Lantern stores the hash.
    • ●Push: POST /api/computers/agent Bearer token. Hostname, OS, serial, last seen, building name if known.
    • ●Harborline zip has no token. A new org/building works the same way. No fake SMART. No L3. No invented street.

Friday, September 18, 2026

  1. this deploy

    The MDF cabinet shows every active port, not just PoE

    Open a closet and the switch draws the same faceplate Air uses — PoE copper, plain copper, and SFP uplinks. Under the rack there is a new Ports in this cabinet list so you can trace a live drop that has no PoE on it.

    • ●Filter the list by Active, PoE, or All. Each row opens the circuit path.
    • ●A row carries jack and room, VLAN, MAC, TDR length, and the directory name when the plant has them.
    • ●Watts and link speed show only when a controller pull reported them. Everything else reads Unknown instead of a guess, and 0 W means the controller really said zero.
    • ●TDR length stays typed or tester. Lantern still does not bind your directory or scrape your switches.
  2. this deploy

    Computers tells you which PC needs a look

    Host information has a Health block and the Computers list shows a small chip on any PC with a real warning — a drive saying predict-fail, low life or free space, a restart Windows is holding, updates past 45 days, Defender off, or a month of uptime. Fields the agent has not sent read Unknown instead of a guess.

    • ●Open Computers, click a hostname: Health sits above Identity. Orange is watch, red is attention, grey Unknown means that PC has not posted the field yet.
    • ●Never an invented SMART verdict. RMM CSV rows still read Not this card.
    • ●Each warning files one report per PC and kind on the ops board (/admin/health) and clears as a repair on the next clean check-in — no duplicate spam.
    • ●Still open: the Windows agent has to start posting reallocated sectors, last update date, missing critical KBs, Defender state, and uptime. PowerShell is staged for that package bump.
  3. this deploy

    Switch page lists every port: device, PoE, VLAN, spare

    Open a switch and the faceplate now has a real port table under it — port and alias, up or down, link speed, PoE watts and mode, VLAN, the device on the jack, and whether it is an uplink, a downlink switch, or an access port. Click a row to light that jack on the faceplate; click a jack to jump to the row. The header counts used vs spare and the PoE headroom left in the budget.

    • ●Devices come from the last controller pull — the port MAC is matched to that client for its hostname and IP. On a typed plant the jack, room, and drop the shop keyed show instead, marked Typed.
    • ●Anything the controller did not report reads Unknown. Lantern does not invent a watt, a speed, or a VLAN.
    • ●A switch with no controller can still be walked: pick the faceplate model on the switch page and type a device per port. The picked faceplate now sticks — typing a camera onto port 7 no longer repaints the chassis as a generic plate.
    • ●PoE bolt, per-port hover, and the lit-port animation are unchanged. Password hashes untouched.
  4. this deploy

    A lightning bolt on every PoE port

    The switch faceplate now marks each PoE port with its own bolt, so you can glance at the plate and see which jacks can power a camera or an AP. Hover or tap a port for that port's watts. The big total that sat on top of the ports moved up to the header.

    • ●Bolt lit = that port is drawing power right now. Bolt dim = PoE port with nothing on it. No bolt = not a PoE port, and SFP cages never get one.
    • ●Hover or tap a port for up/down, that port's watts, link speed, and the device. If the controller sent no watts for a port it says watts unknown on this pull — 0 W only when the controller really said zero.
    • ●Total draw and budget now ride in a chip next to 16 copper + 2 SFP. The budget is the switch's published spec (150 W on a a UniFi PoE switch); if the controller reports a different number, the chip says so instead of printing it as the spec.
    • ●Ports are focusable, so the same facts come up on a phone. Password hashes untouched.
  5. this release

    Every plant row says where it came from

    Devices, ports, and Find hits now carry a small chip: typed, CSV import, a pull off the shop box, a LAN scan, or a Fluke test — with the clock it landed. A pull that has aged out reads stale instead of pretending to be live.

    • ●Chips on Phones, Cameras, Air, Find results, and every closet chassis.
    • ●Filter a list or Find down to one source — typed, CSV, pull, scan, or Unknown.
    • ●A field nobody gave us reads Unknown. We do not guess a VLAN, PoE, speed, or a length.
    • ●Still no LDAP bind and no switch scrape. A pull is the shop box reporting in over HTTPS, never this site reaching into your gear.
  6. this deploy

    In-wall access points file as APs again

    A merge narrowed the controller model match, so in-wall access points and the 16-port PoE switch were being filed as plain clients on Air and Computers. The wider match is back and the test suite is green again.

    • ●Air lists every access point the last pull returned; the PoE switch stays a switch.
    • ●Nothing changed in the pull itself — only how a model name is read. Password hashes untouched.
  7. this deploy

    In-wall access points file as APs again

    A merge narrowed the controller model match, so in-wall access points and the 16-port PoE switch were being filed as plain clients on Air and Computers. The wider match is back and the test suite is green again.

    • ●Air lists every access point the last pull returned; the PoE switch stays a switch.
    • ●Nothing changed in the pull itself — only how a model name is read. Password hashes untouched.
  8. this deploy

    Integrations is Connected and Available, not one long scroll

    Operator → Integrations now opens on one compact UniFi row — Connected, controller, last pull clock — with an Edit button for the key and the local controller login. The pulled device list moved behind its own Devices and clients disclosure, so 30-plus rows no longer bury the settings.

    • ●Set all still sits at the top of that list, and every row still has Set. Nothing was renamed.
    • ●Vendor cards are uniform now: what each one pulls, what Lantern needs pasted, where the rows land. Meraki saves a dashboard key today and says Key saved — not Connected. Omada, Aruba, Mist, MikroTik, and Protect read Later until Lantern really pulls them.
    • ●Secrets are still write-only and never shown again. A demo company still cannot see the operator snapshot. Password hashes untouched.
  9. this deploy

    LAN scan helper no longer flashes a window

    The optional LAN scan helper (the Others-page download that inventories a shop LAN over ARP/ping) ran its background scan by launching powershell.exe directly, so a black console could flash and steal focus. Package 2026.09.18.2 runs the scan through a windowless host, the same way the PC Agent already does.

    • ●The scheduled task LanternLanScan is Hidden=true and its action is wscript → LanternPcHidden.exe (CREATE_NO_WINDOW), not powershell.exe. Scan diagnostics go to a log file, not the screen.
    • ●Re-download the LAN scan EXE and run it once. It deletes the old bare-powershell task and re-registers the hidden one. Password hashes untouched.
  10. this release

    Tray tickets say what is wrong, and the shop board shows where they came from

    A ticket filed from the Lantern tray now carries the sentence the person at the PC typed, and it lands on Tickets with a from PC badge so a tech can tell it from one opened off a floor pin.

    • ●New ticket asks what is wrong before it sends. 500 characters, and the first words become the ticket title.
    • ●The tray ticket endpoint caps the body and limits one PC to 12 tickets an hour, so a stuck tray cannot flood the board.
    • ●Tickets keeps the same three columns. Only the badge is new.
    • ●The tray prompt itself turns on with the next PC agent version bump. Password hashes untouched.
  11. this deploy

    Air reads live network first, floor plan last

    On Air, the AP list, LAN scan, walk samples, switch faceplate, and the access point list come first. The floor plan drawing and its PDF upload now sit full width at the bottom of the page.

    • ●Upload, Open PDF, pins, and hover cards work the same — only the order moved. Password hashes untouched.
  12. this release

    Putting a device on the plant is Set

    One word for the same job. Lens, Floors, Find, Team, Phones, and the how-tos all say Set a device now, so the button you press matches the sentence that told you to press it.

    • ●Lens: the button is Set this device (Setting… while it saves).
    • ●Floors, Find, Team, Phones, and the shop how-tos say set a PC, phone, or camera — not file.
    • ●Package ledes and invite copy: techs set equipment and drops.
    • ●Trouble tickets and the Enlighten board still say File. A ticket is filed; a device is set.
  13. this deploy

    Integrations uses Set all, not File all

    The UniFi devices list on Integrations now has Set all at the top. Each row is Set. Same plant write — just the control name.

    • ●Pending copy is Setting. Password hashes untouched.
  14. this deploy

    Switch faceplates show PoE watts on a lightning bolt

    The a UniFi PoE switch (and other PoE catalog plates) now has a bolt in the middle of the copper ports for used / budget watts from the last pull. Hover a port for that drop’s watts, link speed, up or down, and the device name. The old “10 up / 18 / 150 W” line mixed port count with the budget — it now reads 10 up · 16 copper + 2 SFP.

    • ●Bolt sits on the 16-port copper bank. Hover it for the budget and which ports are drawing. Watts come from controller poe_power — nothing invented.
    • ●Click the card still opens /switches. Lit-port animation unchanged. Password hashes untouched.
  15. this deploy

    Air puts the AP list on the left

    On Air, APs · last pull sits in the left column with the LAN scan count under it. Walk samples and the switch last-pull faceplate stay on the right.

    • ●Locations is no longer a tiny island far left of the AP list. Password hashes untouched.
  16. this deploy

    Public changelog no longer lists the house LAN

    What’s new and the public launch board no longer print the operator UniFi controller address, in-wall AP model, or operator PC hostname. Harborline demo isolation is a separate tenant fix.

    • ●Public /changelog redacts those strings even when an older live log row still has them.
    • ●Public /launch no longer serializes launch-card notes (those held the controller fact). Password hashes untouched.
  17. this deploy

    PC Agent install no longer flashes a black PowerShell window

    The 15-minute task and Startup shortcut still launched powershell.exe, so a black console with red WMI lines could pop even after 18.7’s hidden wscript wrapper. Package 2026.09.18.9 runs inventory through LanternPcHidden.exe (CREATE_NO_WINDOW). Re-download the EXE and run it once.

    • ●Scheduled tasks stay Hidden=true / highest, and the task image is wscript → LanternPcHidden.exe, not powershell.exe. Tray Push and auto-update use the same host. QuickFix / temp / UniFi errors go to a log, not the console.
    • ●Did not restyle Air or switches. Did not change UniFi tenant isolation. Password hashes untouched.
  18. this deploy

    Harborline demo does not show another shop’s APs

    UniFi last pull stays on the company that owns Integrations and the PC agent token. Harborline demo seats keep the Tacoma sample plant — not Cobus UniFi APs, switch faceplates, or controller cards.

    • ●Air / Switches / File all read that company’s snapshot only. A demo tenant cannot inherit the operator last pull.
    • ●Enlighten / Cobus still sees the house UniFi pull. Password hashes untouched.
  19. this deploy

    Air AP pages plus UniFi 16-port PoE faceplates

    Air is a compact AP list that opens radios, clients, airtime, IP, and MAC. The switch draws like a a UniFi PoE switch: clip-art, live ports, PoE, and the device on each port from the controller. Port/PoE counts come from the switch, not the first AP.

    • ●Manual add browses UniFi PoE SKUs and generic 8/16/24/48. faceplateId persists. UniFi LAN ingest maps model + port_table.
    • ●Did not Test-pull cloud or port-forward. Password hashes untouched.
  20. this deploy

    PC Agent can read Ryzen CPU temp without ACPI

    the operator test PC’s Ryzen 3700X had no ACPI thermal zone, so CPU stayed Unknown / no ACPI even when LibreHardwareMonitor or extra CIM sensors exist. Package 2026.09.18.8 asks those user-mode sources. No invented numbers.

    • ●The 15-minute task and auto-update pick up 18.8. Refresh Computers after the next push. Hidden inventory window from 18.7 is still hidden.
    • ●Did not restyle Air or switches. Did not Test-pull UniFi cloud. Password hashes untouched.
  21. this deploy

    PC Agent no longer pops a console over a game

    The 15-minute inventory, tray Push, auto-update, UniFi LAN pull, and install PowerShell were flashing a window and stealing focus. Package 2026.09.18.7 runs those jobs fully hidden.

    • ●Scheduled tasks use Hidden=true, SYSTEM where that was already the design, and a wscript helper so powershell.exe never paints a console. Auto-update via /api/computers/agent/version.
    • ●Did not restyle Air or switches. Did not Test-pull UniFi cloud. Password hashes untouched.
  22. this deploy

    Lens overlay follows this company’s plant

    Lens closet picker and HUD read catalogForRequest. Typed or walk-CSV jacks paint overlay even when the switch port is still spare. Harborline 214-A stays the demo walk. Empty plant tells you to type the MDF or load a CSV.

    • ●lens-org-plant — company plant overlay, not Harborline fiction on a real building. Collector MAC / VLAN / PoE / neighbor still show when the shop pushed them.
    • ●Add-device floor is the closet’s plant floor, not Harborline 1-or-2. Empty overlay HUD tells you to load a walk CSV.
    • ●A shop walk CSV on a real street is first-building. Password hashes untouched.
  23. this deploy

    Air shows every UniFi AP plus the switch ports

    The floor/Air page listed one AP and stuffed LAN-scan hostnames into SCAN LAN. The controller pull already had APs and a PoE switch. Air now cards each AP. Switch ports and PoE come from the switch, not an in-wall AP. Walk samples stay typed.

    • ●Ports 3 / PoE 0 was the first device in the JSON (an in-wall AP), not a PoE audit. Next LAN UniFi pull stores the switch port table.
    • ●SCAN LAN is a count plus Computers — not OTHER-* wrapping as jack labels. Password hashes untouched.
  24. this deploy

    Air heat is occupied walk cells, not a bleed into empty rooms

    Overlapping typed walk samples average in a 48px cell. Cells nobody walked stay blank. Weak RSSI no longer paints a wide circle into the next room as if it were surveyed.

    • ●wifi-heatmap — 90%. Five of six steps. Real-street samples stay first-building. Native iPhone dBm is wifi-phone-rssi.
    • ●Harborline sample AP dots stay so you can open an AP. They are not airtime circles.
    • ●A real / Cobus building never gets Tacoma heat. Password hashes untouched.
  25. this deploy

    Panel-walk CSV loads a live building electrical plant

    Account Load writes panels, breakers, and outlets from a shop CSV. Excel TSV works. Panels and Drops read that file. Harborline stays the compiled demo. Password hashes untouched.

    • ●electric-plant-import — panel, breaker, outlet, room. POST /api/electric/csv same as the form. Export downloads the loaded walk.
    • ●Empty Panels / Drops send the shop to Account. Did not invent a Waukesha street.
  26. this deploy

    PC Agent install no longer prints red Windows Update sort errors

    Install still POSTs inventory, but sorting installed KBs used DateTime.TryParse the wrong way and painted red Sort-Object lines. Package 2026.09.18.6 parses those dates safely. Push still works.

    • ●The 15-minute task and auto-update pick up 18.6. the operator test PC already posted on 18.5 — refresh Computers. Exit the tray only if it is stuck on 18.5.
    • ●Did not restyle the frozen Computers list. Password hashes untouched.
  27. this deploy

    CPU/GPU temp notes use a plain slash

    the operator test PC’s host card showed Unknown · no ACPI and 74 C · AMD ADL because the agent posted a UTF-8 middle-dot that Windows-1252 turned into mojibake. The host page now prints Unknown / no ACPI and 74 C / AMD ADL from the notes already in the live store. GPU 74 C is still AMD ADL. CPU stays Unknown when there is no ACPI. No invented Ryzen numbers.

    • ●Refresh Computers → the operator test PC. No new EXE required for the garbled dots to clear.
    • ●New inventory notes use ASCII / so a later push cannot reintroduce ·. Password hashes untouched.
  28. this deploy

    Tray Push inventory no longer dies on a missing file

    Right-click Push inventory showed a WinForms box: the system cannot find the file specified. The tray’s powershell.exe path used a JavaScript \v escape (vertical tab), so Start-Process never launched the script. Package 2026.09.18.5 finds powershell.exe and still POSTs inventory if nvidia-smi is missing.

    • ●Download agent 2026.09.18.5 from Computers and run it so the tray button works tonight. The 15-minute scheduled task already calls powershell.exe -File and can still POST without a new EXE.
    • ●Missing nvidia-smi / ADL does not abort the HTTPS-out inventory POST. Password hashes untouched.
  29. this deploy

    the operator test PC temps: real C or Unknown · no ACPI

    the operator test PC was Online on 2026.09.18.3 but CPU/GPU temp stayed Unknown. Live store had the string Unknown from the last POST — ingest was fine. Package 2026.09.18.4 copies temps before the CPU name, finds nvidia-smi in Sysnative DriverStore, and tries AMD ADL. A Ryzen 3700X with no ACPI posts Unknown · no ACPI, not a blank Unknown.

    • ●Re-download the PC Agent from Computers (package 2026.09.18.4) or wait for the six-hour auto-update, then tray → Push inventory. The 18.3 EXE cannot pick up this script.
    • ●Did not invent Harborline sample temps on Cobus PCs. No WinRing0. Password hashes untouched.
  30. this deploy

    PC Online and temps: tokens and user-session sensors

    Downloading the EXE had revoked every other PC token, so the operator test PC and the Win10 box posted 401 and went Offline. Those hashes are live again. Temps need package 2026.09.18.3 (Sysnative nvidia-smi, ACPI WMI, tray Fast push). Unknown only when Windows has no sensor.

    • ●Refresh Computers. TORCH / the operator test PC / DESKTOP should come Online on the next check-in without a new EXE.
    • ●Temps: re-download 2026.09.18.3 on each PC then tray Push inventory. Exit the extra tray icon.
    • ●Did not invent Harborline numbers on a shop PC. UniFi LAN pull unchanged.
  31. this deploy

    PC Agent push no longer dies on 401

    Download agent used to revoke every other PC token, so Push inventory showed a .NET 401 and never stored CPU temp. Multiple tokens stay live. Inventory POST is separate from UniFi. Temps stick on a good check-in.

    • ●PCs that already popped the purple 401 box: Download agent once from Computers and run the installer (package 2026.09.18.3). That PC gets a working token; other PCs keep theirs.
    • ●After that, tray → Push inventory is enough. CPU/GPU temps are not UniFi. Offline last-seen uses UTC vs local without painting a live PC dead.
    • ●Did not restyle frozen Computers list, OG, or the rail. Password hashes untouched.
  32. this deploy

    One Windows tray after reboot

    Two Lantern PC Agent icons in the Windows tray was two Startup shortcuts, not two UniFi. Install keeps the all-users StartUp shortcut and deletes the current-user Startup link. The tray takes a Global mutex and exits if one is already running.

    • ●Re-download the PC Agent EXE from Computers (package 2026.09.18.2), or wait for the six-hour auto-update, then run install so the leftover user Startup .lnk is removed.
    • ●Tonight: right-click one of the two tray icons → Exit. After the next reboot there should be one.
    • ●Did not restyle frozen Computers list, OG, or the rail. Password hashes untouched.
  33. this deploy

    UniFi LAN pull rides the PC Agent

    Classic Network 8.1.113 cannot list adopted switches from api.ui.com. Save the local UniFi user on Integrations. A house PC Agent pulls HTTPS-out to the house UniFi controller and posts the File list.

    • ●Do not Test pull the cloud key again until the snapshot has devices.
    • ●Tray Push inventory, or wait ~15 minutes. Secret is never shown again. Do not email the UniFi password.
    • ●File still uses controller names. Not a house collector container. Not Harborline.

Thursday, September 17, 2026

  1. this deploy

    UniFi File uses controller names, not the console WAN

    Test pull skips the Site Manager console host (example-domain.ui.com / public WAN). Adopted switches and APs keep controller names. Air overlay is the same for other vendor APIs.

    • ●File a UniFi switch as its hostname, not SW-MDF. Manufacturer is Ubiquiti plus the model.
    • ●example-domain.ui.com + 108.x WAN is the console host, not a plant device.
    • ●Air overlay is shared: UniFi live; Meraki, Omada, Aruba, Mist, MikroTik next on the same page.
  2. this deploy

    Plesk is the website, not the house NAS

    lantern.enlightenstudios.us is Enlighten's webserver. ES-ss1 is the Cobus NAS on Computers (the house NAS). They are not the same box. UniFi stays the house UniFi controller.

    • ●Do not fold a Plesk hostname into ES-ss1. House NAS aliases are ES-ss1 only.
    • ●Public WAN IPs do not belong on the NAS row. UniFi stays the house UniFi controller.
    • ●UniFi is official Integration API. Password hashes untouched.
  3. this deploy

    Vendor APIs on Account — UniFi first

    Anyone on UniFi, Meraki, or Juniper should connect with an API key. Operator → Integrations (above Tools) is the Enlighten UniFi paste. Account also takes shop vendor keys. UniFi is Doing, not done until a real pull. Meraki and Juniper are Need to do.

    • ●unifi-controller-pull — official Integration API, key in Operator → Integrations. Classic the house UniFi controller is a LAN fact. Windows HTTPS-out if the key is LAN-only.
    • ●meraki-controller-pull — shop Meraki key, HTTPS to api.meraki.com. Same snapshot. After UniFi or parallel notes.
    • ●juniper-controller-pull — Mist or Junos REST after UniFi/Meraki. Not a duplicate of l3-vendor-adapters. Omada/L2 later.
  4. this deploy

    ES-ss1 NAS lives on Computers

    The ES-ss1 NAS is a computer on the Cobus plant. LAN-scan files NAS hostnames onto Computers, not Others. lantern.enlightenstudios.us is Enlighten's webserver — not the house NAS.

    • ●Hostname ES-ss1 / es-ss1 / ES-SS1 classify as a computer. Linux NAS is valid on this list.
    • ●Typed overlay on Cobus Household until scan/agent fills a private LAN IP. UniFi is the house UniFi controller — not the NAS IP.
    • ●Computers list is enough. UniFi stays official Integration API.
  5. this deploy

    UniFi pull lists devices and clients you can file

    The shop Network site (ES), not hidden Default / super rows. File each row, or File all with the suggested category, onto this location.

    • ●Pull keeps Enlighten Studios. /v1/sites/{id}/devices plus console proxy. Guest / visitor SSIDs skipped.
    • ●Saved key Test pull does not ask you to paste again. Secret is never shown again.
    • ●UniFi is not done until those rows land on the plant. Not Harborline. Do not email the key.
  6. this deploy

    Integrations is on the operator rail, above Tools

    Sign in as mike@ → Integrations (above Tools). Paste the UniFi Network Integration API key and Test pull. Self-hosted Network 8.1.113 has no local key screen — mint at unifi.ui.com/api. Meraki, Protect, and other vendors wait on that page.

    • ●Rail + admin tabs: Integrations, one word, above Tools. UniFi form is live. Secret is never shown again.
    • ●Coming next on the same page: Meraki, Omada, Juniper, Protect, other cameras. PC Agent / LAN scan stay HTTPS-out from Computers.
    • ●lantern.enlightenstudios.us cannot reach the house UniFi controller. Test pull uses api.ui.com. UniFi is not done until switches and APs land.
  7. this deploy

    UniFi log rows rewritten: official Integration API

    Same ids as the older live rows. Official UniFi Integration API key on Account. Plesk is the Enlighten backend on ES-ss1 (Computers), not the house UniFi controller. LAN fact stays the house UniFi controller. UniFi is not done until switches and APs land.

    • ●Paste the Integration API key (X-API-KEY) from the console or Site Manager → Integrations.
    • ●lantern.enlightenstudios.us cannot reach RFC1918. Site Manager / api.ui.com, or a Windows HTTPS-out agent if the key is LAN-only.
    • ●Did not restyle frozen OG, rail, or plant lists. Password hashes untouched.
  8. this deploy

    Admin APIs — paste a UniFi Integration key

    Enlighten admin only: /admin/integrations. Official UniFi Network Integration API (X-API-KEY). Test pull hits api.ui.com. RFC1918 house controller is documented. Plesk is the Enlighten backend, not the house. Password hashes untouched.

    • ●Sign in as mike@ → Admin → Integrations (above Tools). Paste the Integration API key. Optional controller URL defaults to the house UniFi controller.
    • ●Test pull shows device / PoE / port counts. The secret is never logged or shown again.
    • ●Lantern’s server cannot reach RFC1918. Local-only keys need a Windows HTTPS-out agent. Not a Harborline controller.
  9. this deploy

    UniFi is official Integration API — shops do not run a collector

    Official UniFi Integration API. House controller the house UniFi controller. Paste the key in Operator → Integrations (above Tools). The website cannot reach RFC1918.

    • ●unifi-controller-pull stays Doing. Not a local cookie username. Instant On never.
    • ●Paste the UniFi Integration API key in Operator → Integrations (X-API-KEY).
    • ●Do not email the UniFi password.
  10. this deploy

    Printers rail, Others scan + Move, LAN-scan OUI

    Printers is under Computers at /computers/printers. Systems is off the rail (bookmark stays). Others can scan and Move a host into the right category. LAN scan OUI files printers vs PCs. UniFi overlay uses the official API key. Plesk is the backend, not the house. UniFi is not done.

    • ●Rail: Computers, Smart, Printers, Others. No wrapping slogans. Frozen Computers table unchanged.
    • ●Move on Others files printer/camera/AP/switch/smart/PC. Scan agent download is on Others.
    • ●OUI guess until UniFi overlay via official API key. Plesk is backend, not house. Do not email the UniFi password.
    • ●-1p1n712 IP: not a hyphen-hostname bug. 17.11 skips 169.254/multicast and picks the fastest Up NIC. Empty IP is wait-for-push (or old agent). Temps need 2026.09.17.11 — tray Push inventory posts now; waiting 15 min on an older EXE will not get temps. Did not bump the EXE.
  11. this deploy

    UniFi controller is classic the house UniFi controller

    Mike’s UniFi is classic local API on the house LAN at the house UniFi controller — not UniFi OS on :443. Pull is the official Integration API key on Account. Plesk is the Enlighten backend, not the house. UniFi is not done.

    • ●unifi-controller-pull stays Doing. Done: HTTPS-out shape, no inbound, not fake-live, LAN IP, classic :8443.
    • ●Paste the official UniFi Integration API key (X-API-KEY). Not a ui.com cookie login. Instant On never.
    • ●lantern.enlightenstudios.us cannot reach RFC1918. Site Manager / api.ui.com, or a Windows HTTPS-out agent if the key is LAN-only. Do not email the UniFi password.
  12. this deploy

    Add your systems, Others rail, CPU/GPU temp EXE

    Pick Cobus next to LANTERN, then Systems to type switch, camera, and AP. Computers is PCs only. Smart and Others sit under Computers on the rail. Re-download PC Agent 2026.09.17.11 so CPU and GPU temps post — SSD life already works.

    • ●Locations → Systems. Harborline stays the compiled demo.
    • ●Computers stays agent PCs. Smart is TVs/hubs. Others is unclassified LAN-scan plus ARP.
    • ●PC Agent 2026.09.17.11: thermal-zone CIM (high-precision Kelvin) first, nvidia-smi in DriverStore. No kernel temp driver.
  13. this deploy

    Boarded: Work tab MSP clients + password vault

    Need to do on Launch: MSP/network admins get a Work-tab client book (info, locations, computers from Lantern agents) and an encrypted password vault. After hardware add/sync. Not built tonight.

    • ●msp-work-clients-vault — after typed plant, LAN scan, PC Agent, UniFi HTTPS-out.
    • ●Vault is for servers, switches, modems, cameras, software. Shop seats only. No plaintext secrets in the log.
  14. this deploy

    Open ticket, In Progress names, IP on plant lists

    Tickets say Open ticket. Take it puts In Progress and the tech’s first and last name. Click the name to filter their tickets. Computers, Phones, Cameras, and Switches lists show IP. My Locations vs Customer Locations is on the board for later.

    • ●Take it stamps the worker. Park clears them. /tickets?worker= filters.
    • ●Computers IP column. Switches show management IP. Phones/Cameras already had IP.
    • ●operator-locations-split is Need to do — not tonight.
  15. this deploy

    Vision primary IP is the 10G Up NIC

    The onboard 1G is unplugged. Primary IP is the fastest Up adapter (10 Gbps → a house NIC), not multicast and not a leftover on the stock NIC. Re-download 2026.09.17.10.

    • ●Both physical NICs still list. Down means unplugged.
    • ●Primary IP + MAC + gateway follow the fastest Up link.
  16. this deploy

    Host page lists every NIC, including Down 10G

    Computers host information posts every physical adapter. A down 10G card still shows as Down. Primary IP skips multicast 224.0.0.22. Re-download PC Agent 2026.09.17.9.

    • ●Get-NetAdapter -Physical — Up and Down. Speed, IP, MAC per NIC.
    • ●Host Network card lists each adapter. Down stays listed. Primary IP is the Up RFC1918 address.
    • ●UniFi is official Integration API. Shops do not run a collector on the house.
    • ●ISP modems (AT&T / Spectrum / Comcast / TDS) stay Need to do — DHCP lease is not a UniFi-class inventory.
  17. this deploy

    UniFi: what Mike needs to send

    Account is the official UniFi Integration API key. Controller LAN fact: the house UniFi controller. Plesk is the Enlighten backend, not the house. No inbound scrape.

    • ●Paste the Integration API key in Operator → Integrations (console or Site Manager → Integrations, X-API-KEY).
    • ●If the key only talks to the LAN controller, Windows HTTPS-out agent — same family as LAN Scan EXE.
    • ●Do not port-forward UniFi. Do not paste the password in email.
  18. this deploy

    PC Agent 2026.09.17.8 — real LAN IP, SSD life, temps

    Host IP ignores multicast 224.0.0.22. SSD life reads Wear from each PhysicalDisk. CPU temp also asks Windows thermal-zone counters. GPU still nvidia-smi when NVIDIA is installed. Intel iGPU stays Unknown. Re-download the EXE.

    • ●IPv4 skips 224/239 multicast, 169.254, and loopback. Prefers 192.168 / 10 / 172.16.
    • ●Get-PhysicalDisk | Get-StorageReliabilityCounter plus MSFT_StorageReliabilityCounter for NVMe/SSD life.
    • ●Get-Counter Thermal Zone Information for CPU when ACPI is empty. No kernel temp driver.
    • ●Account UniFi connect is the official Integration API key. Plesk is the Enlighten backend, not a house bind.
  19. this deploy

    Computers shows last LAN scan check-in

    Next to Download scan agent: last POST time, host count, and errors. The OK window only means install finished. Hidden task LanternLanScan every 30 minutes. Frozen Computers table columns unchanged.

    • ●Sign in → Computers. Line under Download scan agent: last check-in, hosts, last POST ok or error.
    • ●No Scan now button. Wait up to 30 minutes, or on that PC Task Scheduler → LanternLanScan → Run.
  20. this deploy

    Wake-up ten — honest live vs blocked on Mike

    Typed Cobus add, PC Agent Bypass/Hidden SYSTEM, PoE on Add switch, smart devices, LAN-scan EXE, collapsed Checked cards are live. UniFi is the official Integration API key until switches and APs land. Home tier is a client flag, no Stripe. Harborline is not his house.

    • ●Live: camera / switch / AP merge-add, PoE used ports/watts, /computers/smart, Floor One video hold + plus floor, Launch collapse.
    • ●PC Agent EXE stays ExecutionPolicy Bypass + WindowStyle Hidden SYSTEM. LAN scan is a second EXE HTTPS-out (Get-NetNeighbor RFC1918).
    • ●UniFi: official Integration API. Controller fact the house UniFi controller. Shops do not run a collector on the house. Instant On never.
    • ●Home tier: Enlighten client checkbox only. No Stripe SKU. Mapping still Need to do.
  21. this deploy

    Cobus add, typed PoE, smart devices, collapsed Launch, scan ingest

    Typed Cobus add stays live. PC Agent inventory/ticket/sensors stay live (EXE untouched). Add switch takes PoE. Smart devices under Computers. Launch checked cards collapse. Scan ingest categorizes cameras/switches/air. UniFi NAS and Home tier are notes, not blocked on a paid check.

    • ●Add a switch: used PoE ports, watts, budget on the form and Switches list.
    • ●/computers/smart for TVs and hubs. Frozen Computers table unchanged.
    • ●Inventory EXE ARP (Hidden SYSTEM, Bypass) is the unmanaged path. Optional second LAN-scan EXE. HTTPS-out from a house PC.
    • ●Floors: Floor One + plus, video hold (no plate from clip yet).
    • ●Checked Launch cards collapse. UniFi NAS waits on Mike’s box/token. Home tier notes — not blocked on a paid check.
  22. this deploy

    Board: user-account compose (Need to do — not tonight)

    Mike wants Enlighten /admin to create shop users (package, username, email, first + last) and the same compose+filter+manage for company admins on their seats. Team invites already exist. On the board as Need to do — after the device-scan path. No UI tonight.

    • ●admin-user-create — master admin compose + filterable user list + edit/disable. /admin/clients is companies, not this.
    • ●company-user-manage — org_admin on /team: same compose + filters. Invites/role/disable already live.
    • ●Not tonight. Cross team + packages-flags. Tick only refreshes percents — this card boots from catalog + stamp.
  23. this deploy

    LAN scan agent — WiFiman-lite on one PC

    Second Windows EXE on Computers: Download scan agent. ARP + ping + OUI files devices into Switches, Cameras, Air, Computers, and phones. Merge-add. Not PC Agent. Not UniFi. Home tier is after this path, not a paid shop check. No Stripe.

    • ●Sign in → Computers → Download scan agent (not Download agent). SmartScreen Run anyway, Yes on UAC.
    • ●Hidden task LanternLanScan every 30 minutes. POST https://lantern.enlightenstudios.us/api/lan-scan/agent
    • ●Unknown MAC stays Other / smart until typed. Does not wipe PC Agent rows.
  24. this deploy

    Correction: Mike's todo list was stale

    The first mike-todos card and email were stale. Cream City 23G is deleted (~49G free). Phone location dropdown is live. Home tier is not blocked on a paid shop check. LAN scan is a second Windows agent on a house PC.

    • ●Cream City 23G dump DELETED. / has ~49G free (31%). Never delete enlightenstudios.us or midwestlvp.com without OK.
    • ●Location dropdown on a phone is LIVE. Home tier is not blocked on a paid shop check.
    • ●LAN scan = second Windows agent (WiFiman-style) from a house PC. UniFi is official Integration API at the house UniFi controller.
  25. this deploy

    Mike's todo is on the launch board

    Doing cards now show honest device-path work: typed Cobus plant at ~90, floors still in progress. UniFi is not fake-done. Mike's todo is on the board so he does not scrape chat.

    • ●plant-manual-add is Doing ~90 — forms live; Cobus cameras/switches/APs still need typing.
    • ●pc-temps and pc-agent-ticket-form stay done on live. Re-download the EXE from Computers.
    • ●unifi-controller-pull, PoE, unmanaged scan, other L2, floor video, Home tier, collapse-done stay Need to do.
    • ●mike-todos card + email: PC Agent, map Cobus, OK before any enlightenstudios.us or midwestlvp.com delete, Cream City 23G dump, Plesk FTP still on.
  26. this deploy

    Location dropdown fits the phone top bar

    The building picker next to LANTERN is still a real dropdown. On a phone it shows MapPin and one truncated word (Cobus, Harborline) so the bar fits 320 through 430. Open the list for the full name. Find stays the search icon. Contact stays nowrap.

    • ●Phone header uses the LANTERN icon so the lockup PNG is not squeezed. Desktop still shows icon + LANTERN.
    • ●Did not restyle OG cards, Computers/Phones lists, or the Enlighten footer.
  27. this deploy

    Host page CPU/GPU temps, SMART, and NVMe life from the agent

    The Lantern PC Agent now asks Windows WMI/CIM for CPU temp, GPU temp, SMART, and NVMe wear on the HTTPS-out push. Host information stays Unknown only when those classes have no value. Re-download the EXE from Computers.

    • ●Inventory scheduled task runs as SYSTEM with WindowStyle Hidden and ExecutionPolicy Bypass so ACPI/SMART/Wear are not skipped.
    • ●CPU: MSAcpi_ThermalZoneTemperature, Win32_TemperatureProbe, thermal-zone counters. GPU: nvidia-smi plus NVIDIA/AMD WMI. No kernel temp driver.
    • ●SMART: FailurePredictStatus, StorageReliabilityCounter, PhysicalDisk HealthStatus, Win32_DiskDrive Status. NVMe life is 100 minus Wear. Harborline demo may still be sample.
    • ●Same EXE Open ticket form: issue + Low/Medium/High + Submit. Did not restyle frozen Computers/Phones/Cameras lists, OG, lockup, or the Enlighten footer.
  28. this deploy

    Cobus typed add is live — camera, switch, AP

    On Cobus: Add a camera, Add a switch, Add an AP. Merge-add. Host page and Brand under Tools stay done. UniFi, other L2, unmanaged scan, PoE watts, floor video, Home tier, and Launch collapse stay Need to do.

    • ●plant-manual-add is done. Pick Cobus next to LANTERN. Does not wipe PCs.
    • ●Need to do: UniFi HTTPS-out, Instant On / other L2, unmanaged LAN scan, PoE watts, Floor One video, Home tier, collapse Checked cards.
    • ●Did not fake a home UniFi pull. Official Integration API key on Admin → APIs. House controller is the house UniFi controller.
  29. this deploy

    Add cameras, switches, and APs on Cobus; Switches sits above Air

    Pick Cobus next to LANTERN. Cameras, Switches, and Air have Add forms that merge onto the plant. Host page stays labeled cards. UniFi, LAN scan, video floors, and Home tier are Need to do — not fake-live.

    • ●Switches is on the IT rail above Air. Electric Pro stays uncluttered.
    • ●Add a camera / Add a switch / Add an AP merge-add. Does not wipe PCs already on the building.
    • ●Need to do: UniFi HTTPS-out, unmanaged LAN scan, PoE watts, video floor upload, Home tier.
  30. this deploy

    Brand sits under Tools

    Enlighten operator rail: Brand is under Tools and opens the logo kit at /brand. Same chip on /admin/tools. Lockup, favicon, and OG did not move.

    • ●Brand is one word on the operator rail, under Tools.
    • ●Download the kit from /brand/lantern-logo-kit.zip.
    • ●Did not restyle frozen lockup, OG, or the plant rail.
  31. this deploy

    Board: typed plant, UniFi/Omada/Meraki, L2 consoles, PoE, smart devices

    Need-to-do cards for Brand under Tools, Switches above Air, manual cameras/switches, UniFi then Meraki and Omada HTTPS-out, other L2 consoles, unmanaged LAN scan, PoE watts, and Smart devices. Tick only refreshes percents — these cards boot from catalog + stamp. PC Agent EXE is a different binary.

    • ●brand-tools-nav / switches-nav-above-air — Need to do. Electric Pro stays uncluttered.
    • ●cameras-manual-add / switches-manual-add / plant-manual-add — typed inventory, no L3, no live LDAP bind.
    • ●unifi-controller-pull / meraki-controller-pull / omada-controller-pull — shop HTTPS-out. Not fake-live. The website cannot reach RFC1918.
    • ●l2-controller-integrations — Instant On, Insight, Cisco Business, MikroTik, other L2. Instant On is never a live scrape.
    • ●lan-scan-unmanaged — unmanaged / no controller only. switch-poe-ports — used PoE + watts + budget. smart-devices-tab — under Computers.
  32. this deploy

    PC Agent installer runs when PowerShell is Restricted; inventory stays hidden

    Garage install failed with “running scripts is disabled on this system,” and the first EXE popped a PowerShell window on every 15-minute check-in. Re-download lantern-pc-agent-*.exe. Install is one visible console. After that, inventory and auto-update run hidden.

    • ●Installer stub: powershell.exe -NoProfile -Sta -ExecutionPolicy Bypass -File Install-LanternPcAgent.ps1
    • ●LanternPcAgentInventory (15 min) and LanternPcAgentUpdate (6h) use -WindowStyle Hidden.
    • ●No encoded command. Password hashes untouched.
  33. this deploy

    Host page is cards, not a spec dump

    Open a PC from Locations → Computers. The hostname stays the title. Status chips sit under it. Identity, Hardware, Disk, Network, Agent, and Updates are labeled cards. Missing fields stay Unknown.

    • ●Removed the paragraph that listed every field under the hostname.
    • ●Disk usage shows C: used / free / total with a meter when the agent posted volumes.
    • ●Did not restyle the frozen Computers list, Phones, Cameras, OG, or the rail.
  34. this deploy

    Host page matches shop chrome; PC-agent cards checked

    /computers/[id] uses PageFrame, Locations kicker, panel-card, and Outfit. Last check-in shows CPU/memory usage, ethernet, C: used/free/total, NVMe life, and CPU/GPU temps. Missing stays Unknown. Launch board cards for those workstreams are checked with honest 100 — not a flat 50.

    • ●pc-host-page, pc-cpu-ram-nic, pc-disk-usage, pc-temps, pc-nvme-life, and pc-agent-autoupdate are done.
    • ●Harborline demo IPs, C: volumes, and NVMe percents stay compiled. Usage, MAC, gateway, DNS, and temps stay Unknown until the EXE posts.
    • ●Did not restyle frozen Computers/Phones/Cameras lists, OG, or the rail. Password hashes untouched.
  35. this deploy

    Host page shows NVMe/SSD percent life remaining

    The PC agent reads SSD/NVMe wear from WMI and stores percent life remaining next to disk usage and SMART on Host information. Unknown when Wear is empty — not a guessed number.

    • ●POST /api/computers/agent accepts lifeRemaining / wear. PowerShell uses Get-StorageReliabilityCounter Wear and Get-PhysicalDisk Wear.
    • ●Harborline demo hosts have compiled percents. Print server stays Unknown (no Wear). CSV stays Not this card.
    • ●Did not restyle the frozen Computers list, Phones, Cameras, OG, or the rail.
  36. this deploy

    Host page uses shop chrome; PC-agent cards get honest percents

    /computers/[id] matches the rest of Lantern: PageFrame, Locations kicker, panel-card, Outfit. Launch board cards for auto-update, CPU/RAM, disk usage, and NVMe life now carry honest percents — not a flat 50.

    • ●pc-host-page checked. Same last-check-in facts plus SMART and C: used / free / total.
    • ●pc-agent-autoupdate 25% — public GET /api/computers/agent?version=1. EXE does not self-update yet.
    • ●pc-cpu-ram-nic 40% — IP and CPU/RAM model on the host page. NIC adapter array still open.
    • ●pc-disk-usage 75% — host C: numbers, Harborline demo volumes, Win32_LogicalDisk in the push.
    • ●pc-nvme-life 15% — NVMe card says Unknown until Wear posts. No invented percent.
    • ●Did not restyle frozen Computers/Phones/Cameras lists, OG, or the rail.
  37. this deploy

    Click a PC for inventory; agents auto-update

    Hostname on Computers opens host detail: current settings, CPU, RAM, SMART, last check-in, and recently installed Windows KBs. A shop PC pulls a new Lantern agent HTTPS-out — no visit.

    • ●POST /api/computers/agent stores CPU, RAM, manufacturer/model, and Win32_QuickFixEngineering KBs.
    • ●GET /api/computers/agent/version is public. Bearer GET /api/computers/agent/update does not rotate the company token.
    • ●Did not restyle the frozen Computers list beyond the hostname link. No remote desktop. Password hashes, OG, and the rail stayed.
  38. this deploy

    Host page adds CPU/GPU temps; launch cards stay In Progress

    Open a PC from Locations → Computers. The host page lists last-check-in CPU and GPU temps when ACPI or nvidia-smi posted them. Unknown otherwise. No kernel temp driver. Auto-update, disk usage, and the host page stay Doing on the launch board.

    • ●CPU temp is the ACPI thermal zone when Windows exposes it — not a claimed CPU-die reading.
    • ●GPU temp is nvidia-smi when that tool is on the PC. Missing stays Unknown.
    • ●pc-host-page, pc-agent-autoupdate, pc-disk-usage, and pc-temps are In Progress on /admin/launch.
    • ●Did not restyle frozen Computers/Phones/Cameras lists, OG, or the rail. Password hashes untouched.
  39. this deploy

    Host page shows C: used, free, and total

    The PC agent POSTs Win32_LogicalDisk Size and FreeSpace on the same HTTPS-out push as SMART. Host information lists C: used, C: free, and C: total next to SMART. CSV stays Unknown until the EXE checks in.

    • ●Push-LanternPcInventory.ps1 reads DriveType=3 Size/FreeSpace. POST /api/computers/agent stores volumes.
    • ●Harborline demo hosts have compiled C: numbers. Frozen Computers list columns did not move.
    • ●Did not restyle Phones, Cameras, DeviceInventory, OG, or the rail.
  40. this deploy

    Host page shows last check-in CPU, memory, and NIC

    Open a PC from Locations → Computers. The host page lists CPU usage, memory usage, ethernet link, IP, MAC, gateway, and DNS from the last HTTPS-out push. If the agent has not sent a field, it says Unknown. There is no live graph.

    • ●/computers/[id] is the host page. Name on the Computers list opens it.
    • ●The Windows agent POSTs usage and nic facts on the same 15-minute HTTPS-out push. CSV/RMM rows stay Unknown until the EXE checks in.
    • ●Harborline demo IPs stay compiled. No fake live graphs. Password hashes untouched.
  41. this deploy

    PC Agent install OK dialog is the install, not Harborline

    After Yes on UAC, the OK box says the agent is installed, writes ProgramData, a tray icon, and a 15-minute scheduled task, then refresh Locations → Computers. Harborline and the shop-token lecture are gone from that box.

    • ●Same MessageBox for every EXE. Installed. %ProgramData%\Lantern\pc-agent. Tray. Scheduled task. Refresh Computers.
    • ●Re-download after this deploy. The old stub still named Harborline demo has no token.
    • ●Did not restyle the rail, OG cards, or frozen plant lists. Password hashes untouched.
  42. this deploy

    mike@ Download agent bakes the Enlighten token

    Sign in as mike@enlightenstudios.us after Cobus Household is on the operator login. Download agent writes lantern-pc-agent-*.exe with the Enlighten/Cobus shop token. The success dialog never mentions Harborline on that install. Refresh Locations → Computers — this PC should show hostname / last seen.

    • ●GET /api/computers/agent as Enlighten admin always uses org-enlighten and bakes lnrpc_. Harborline demo still has no token.
    • ●OK dialog is installed, ProgramData, tray, scheduled task, refresh Computers — not Harborline, not a token lecture.
    • ●Re-download after this deploy. The EXE that said Harborline demo has no token was the old stub dialog, not proof he was on Harborline.
  43. this deploy

    Typed rooms can sit on Floors without a house PDF

    Need-to-do is blocked (first-building street, neighbor calls, remote desktop, held PDF polish). Account typed inventory and walk CSV take room_x / room_y / room_w / room_h so a company plant can pin rooms. floors-org-plant stays open until Michael’s house drawing is on the plant. No invented street.

    • ●Typed drop cells 10–13 and walk CSV columns room_x/y/w/h. Export round-trips those boxes plus faceplate.
    • ●Floors pins use that room box. Harborline Tacoma geometry is not copied onto a typed plant.
    • ●Did not check floors-org-plant or first-building. PDF clip still waits on a real drawing.
  44. this deploy

    SQL-primary and honest Air/Stats are checked off

    Doing cards durable-client-db, auth-sql-opt-in, and wifi-stats close honestly. Live Sign in already reads Postgres. Air and Stats count walk samples, not Tacoma fiction on a real building. Replica stays unused. First-building still waits on Michael’s street.

    • ●durable-client-db — SQL-primary. JSON backup never deleted. LANTERN_DATABASE_REPLICA_URL parsed and unused.
    • ●auth-sql-opt-in — LANTERN_SQL_READ=1 dual-read is the shipped opt-in. No second auth system.
    • ●wifi-stats — walk-sample quality / band / SSID. Harborline labeled. Controller AP airtime not this phase. Not first-building.
  45. this deploy

    PC Agent installer no longer looks like a dropper

    Windows Defender on the garage PC quarantined the unsigned EXE as Trojan:Win32/Sabsik.EN.D!ml (ML heuristic). That was a false positive on the old packed stub. Re-download lantern-pc-agent-*.exe from lantern.enlightenstudios.us. If the old file is still quarantined, Allow on device — do not turn Defender off.

    • ●Setup is a visible console installer. It writes Install-LanternPcAgent.ps1 and lantern-icon.ico into %ProgramData%\Lantern\pc-agent, then runs that script in a visible PowerShell window.
    • ●No ZIP self-extractor overlay, no EncodedCommand, no hidden powershell, no ShellExecute runas. UAC is requireAdministrator in the manifest. VERSIONINFO says Enlighten Studios / Lantern PC Agent Setup. No fake Authenticode.
    • ●HTTPS-out check-in unchanged. Did not replace lantern-icon.png, OG, or the rail. Password hashes untouched.
  46. this deploy

    Locations dropdown uses Outfit like the rest of the chrome

    The list next to LANTERN (Cobus Household and other buildings) uses the same Outfit family, weight, and tracking as Account and other header controls. The OS default typeface is gone from that menu.

    • ●Custom list immediately right of the LANTERN lockup — native option popups cannot take Outfit.
    • ●Did not restyle the Enlighten rail lockup, OG cards, or plant DeviceInventory lists.
  47. this deploy

    Typed wall plates work on a company plant, not only Harborline

    Account typed inventory now takes a ninth faceplate cell. Lens lookup of DESK-A on that plant lists Office plate ports and what is plugged in. Harborline 214-A still walks. Did not invent a Waukesha street.

    • ●Typed drops: jack, room, kind, hostname, ip, mac, vlan, switch_port, faceplate. Same CSV path as walk import.
    • ●lens-faceplate-proof reads THIS company’s plant. Not Harborline-only. Not MDF/IDF rack chrome.
    • ●Catalog aligned: electric-plant-import, lantern-launch-site, tier-licensing, ops-mobile-fields were already live. alacarte stays held. floors-org-plant waits on a house plant. first-building still Mike’s street.
  48. this deploy

    Lens shows the wall plate, not just the cable ID

    On Lens, look up a jack or cable ID. Harborline 214-A / HL-2W-1414 lists the wall faceplate, ports on that plate, and what is plugged in from the plant. Not the MDF/IDF rack. Not a live scrape.

    • ●Lookup accepts HL-2W-1414 or 214-A. Plate ports and plugged-in hostnames come from the plant record.
    • ●Honest first slice. Phone still points at the plate. Did not invent a Waukesha address.
  49. this deploy

    RMM switch-in over HTTPS out

    A shop box with NinjaOne, Datto RMM, or ConnectWise Automate keys POSTs device inventory to lantern.enlightenstudios.us. Lantern never inbound-scans their RMM. Missing keys push an honest stub.

    • ●POST /api/computers/rmm with the PC agent or collector Bearer token. Same Computers list as Import CSV (Agent Offline until the EXE checks in).
    • ●Ninja /v2/devices-detailed, Datto /v2/account/devices, Automate Computers. Account → Download RMM script. No policies. Frozen lists unchanged.
    • ●Did not invent a first-building street. Remote desktop is still after launch.
  50. this deploy

    PC agent reports SMART and Windows Update

    The Lantern PC Agent push now includes disk SMART and Windows Update. Those values land in the Disk and Updates columns already on Computers. CSV import still shows Not this card until the EXE checks in.

    • ●POST /api/computers/agent accepts disk / windowsUpdate. PowerShell reads FailurePredictStatus, storage wear, pending updates, and reboot-required.
    • ●Warnings use the frozen Computers table. Did not restyle Phones, Cameras, DeviceInventory, OG, or the rail.
    • ●Harborline demo rows stay compiled. No fake first-building. Remote desktop is still after launch.
  51. this deploy

    Tray New ticket files a shop ticket

    Right-click the Lantern PC Agent tray icon → New ticket. That POSTs HTTPS out and opens a shop ticket on the PC hostname. The Tickets column on Computers shows the open count.

    • ●POST /api/computers/agent/ticket with the same org Bearer token as inventory.
    • ●Reuses /tickets. Not the Enlighten operator board. Not remote desktop.
    • ●Did not restyle the frozen Computers list chrome.
  52. this deploy

    Import CSV on Computers

    Company admin and Enlighten get a second square-round orange Import CSV button next to Download agent. Hostname, site, OS, serial, and last seen from another RMM land on the Computers list. Harborline stays compiled. The old RMM agent is not installed.

    • ●Top-right .btn-lantern Import CSV (nowrap) immediately next to Download agent. Same seats as the EXE.
    • ●POST /api/computers/csv. Template GET /api/computers/csv?template=1. Sample /samples/computers-rmm.csv.
    • ●CSV rows show Agent Offline until the Lantern EXE checks in. Did not restyle Phones, Cameras, OG, or the rail.
  53. this deploy

    Cobus Household on the Enlighten admin login

    Sign in as mike@enlightenstudios.us. The Locations dropdown to the right of LANTERN lists Enlighten locations including Cobus Household. Find, Closets, Lens, Floors, Jobs, Cameras, and Computers stay on that house’s MDF/IDF. Harborline and other clients stay names-only on /admin/locations — not a second company-admin login.

    • ●One login: Enlighten operator. No extra Cobus company-admin seat required.
    • ●If the house sat on another org, the building moved onto Enlighten — not deleted, no invented street, Harborline plant not copied in.
    • ●Dropdown shows only operator-owned locations. Client sites stay the names list.
  54. this deploy

    PC Agent EXE asks Windows for administrator

    After SmartScreen Run anyway, double-clicking lantern-pc-agent-*.exe opens the UAC prompt instead of failing with “Run the .exe as Administrator.” Being the Windows Administrator is enough — re-download the EXE; the old file still has the bug.

    • ●Stub manifest stays requireAdministrator. If SmartScreen starts the process unelevated, the EXE relaunches itself with runas.
    • ●Install-LanternPcAgent.ps1 does the same Verb RunAs check before writing ProgramData. It does not fail only because the first process was not elevated yet.
    • ●Did not replace lantern-icon.png, OG, or the rail. Password hashes untouched.
  55. this deploy

    PC Agent double-click install as Administrator

    Download agent EXE unpacks, writes ProgramData, a scheduled task, and the Lantern tray even if the first HTTPS push fails. SmartScreen: More info → Run anyway. Then Yes on UAC. No paid code-sign cert.

    • ●Hidden PowerShell is STA. Shortcuts, task, and first push cannot abort the install after files copy.
    • ●requireAdministrator manifest + Win10/11 compatibility. Unsigned PE is still a real GUI EXE.
    • ●Enlighten admin still has no Locations dropdown — names on /admin/locations. Company org_admin keeps the header switcher.
  56. this deploy

    Download agent 500 is fixed

    GET /api/computers/agent no longer throws on the live standalone server. Michael can click Download agent and get lantern-pc-agent-*.exe. Harborline still has no token.

    • ●Root cause: webpack standalone has no import.meta.dirname; path.join(undefined) 500ed after sign-in.
    • ●Stub EXE and lantern-icon.png resolve from process.cwd() first. Unsigned GET stays 401.
    • ●Did not replace lantern-icon.png, OG, or the rail. Password hashes untouched.
  57. this deploy

    Download agent on Computers

    Company admin (and Enlighten) get a square-round orange Download agent button on Locations → Computers. Same GET as Account: lantern-pc-agent-<company>.exe. Harborline still has no token. Techs keep the muted note.

    • ●Top-right .btn-lantern Download agent → /api/computers/agent (EXE, not zip).
    • ●Visible for org_admin, client, and Enlighten admin. Field tech / employee / Harborline demo tech do not.
    • ●Did not restyle DeviceInventory lists, OG, or the rail.
  58. this deploy

    Company admins switch locations next to LANTERN

    Company org_admin, tech, and employee seats get a location dropdown immediately to the right of the LANTERN lockup. Pick Cobus Household (or another building on that company) and Find, Closets, Lens, Floors, Jobs, Cameras, and Computers stay on that location’s MDF/IDF and assets. The pick is stored in a cookie and on the seat. Enlighten operator does not browse client plant.

    • ●Sidebar section Plant is now Locations. Same words: Find (lucide Search), Floors, Closets. No wrapping slogans.
    • ●Switch: the header dropdown, not Account. Account still lists every building for import.
    • ●Enlighten admin (mike@enlightenstudios.us) has no customer location dropdown. Field Find is empty of Harborline and Cobus plant. Names only on /admin/locations and Clients.
    • ●first-building stays his house when he added Cobus Household — no invented street, no Harborline dumped into it.
  59. this deploy

    Android walk RSSI HTTPS-out; PWA never reads dBm

    Company admin downloads a Kotlin companion zip on Account. It POSTs connected SSID RSSI with the collector Bearer. Safari, Chrome, and this PWA never read dBm. iPhone stays typed. Harborline stays the compiled demo.

    • ●wifi-phone-rssi — Android WifiInfo.getRssi → POST /api/walk/ingest. Same collector token. Not a Play Store APK.
    • ●Typed walk on Air stays. iPhone has no public RSSI API.
    • ●floors-org-plant and first-building stay blocked until Michael adds the house — no invented address.
  60. this deploy

    Company plant switches and cameras (typed or CSV)

    A non-demo shop can type an MDF and switch chassis or load a walk CSV. Plant → Switches, Cameras, Closets, and Lens read that file. Computers stay on the Windows agent. Instant On is never scraped. House street waits — no invented address.

    • ●plant-data-source — typed inventory is the company path. Michael has no L3. No Plesk scrape.
    • ●cameras-plant — cameras and floor pins come from the company plant, not Harborline-only.
    • ●closet-org-plant — Closets and Lens open the company’s MDF.
    • ●Computers stay HTTPS-out agent inventory. Frozen DeviceInventory lists, OG, and rail did not move.
  61. this deploy

    Typed plant source closed; draw paths on the Floors PDF

    Port state is typed inventory plus collector overlay when a shop has gear. Michael has no Layer 3 switches — Plesk never scrapes. Floors Path tool stores cable runs on the uploaded PDF. House plant stays open.

    • ●plant-data-source — typed fallback + collector overlay. LDAP is MAC → directory. No live DC bind. No Plesk scrape.
    • ●floor-wire-path — Path on the Floors PDF. Separate from room highlight clips. Finger/stylus. Not closet port→circuit.
    • ●floors-org-plant stays Doing until Michael creates the house plant. No invented address.
  62. this deploy

    Harborline testers, Computers agent, Study B under Find

    Harborline walk is the testable product. Plant → Computers now takes HTTPS-out inventory. Signed-in Find keeps search and shows Study B plant cards. First building and a live switch pull stay blocked.

    • ●ten-day-beta — Harborline testers can run Find, Floors pins, Air, Billing PDF, Lens, CSV, demo seats. First building stays its own card.
    • ●computers-tab — Company admin zip POSTs hostname, user, last seen. Harborline demo rows stay. SMART is pc-health. No inbound scan.
    • ●home-hardware-overview — Study B cards on signed-in /. Find stays on the rail. Not a NOC.
    • ●floors-org-plant stays Doing — real-street plate is first-building. Did not invent a Waukesha address.
    • ●plant-data-source stays Doing — collector overlay + typed fallback are live; a real switch/LDAP pull needs Michael's LAN.

Wednesday, September 16, 2026

  1. this deploy

    Shop collector POSTs without Sign in

    The shop box talks HTTPS out to lantern.enlightenstudios.us with an org token. POST /api/collector/ingest is not a login cookie. The route still returns 401 without a Bearer token. Production does not live-bind LDAP or scrape switches.

    • ●Middleware lets /api/collector/ingest through. Token check stays on the route.
    • ●plant-data-source stays Doing at 76%. Not done until a real switch pull.
  2. this deploy

    Rail Enlighten credit: strip the pill border

    Sorry Michael — a concurrent agent put a rounded card stroke around the Powered by Enlighten rail lockup. Live chrome is equal padding only again. No stroke, no capsule, no ring.

    • ●Removed border / rounded-[var(--radius)] / bg-card/50 from EnlightenRailLockup and the rail corner wrapper.
    • ●Kept tilted bulb, Powered by above ENLIGHTEN / STUDIOS, real Enlighten colors. Samples variants stay borderless.
    • ●Tests forbid the pill classes so they cannot sneak back on deploy.
  3. this deploy

    Phones, Cameras, and Air share one list: IP, MAC, VLAN, jack

    Same filterable table on Phones, Cameras, and Air. Floor dropdown with counts, green/red up-down, IP and MAC you can copy, VLAN, jack, and switch port. Search name, IP, or MAC. Heatmap on Air stays the walk.

    • ●plant-list-by-floor is done. Floor 1 (14) on the dropdown. Click a row for the circuit path.
    • ●IP and MAC are first-class columns so a tech on a ladder can copy them. Daisy-chained PC IP sits on the phone row.
  4. this deploy

    Need to do: phone-connected heat samples

    Being on the customer Wi-Fi does not let Safari or Chrome read dBm. Typed walk stays. An Android app could fill RSSI while connected and POST it out — iPhone still cannot. Not shipped.

    • ●wifi-phone-rssi — Android companion reads connected RSSI (WifiInfo.getRssi), optional neighbor scan, HTTPS out. Same shape as the switch collector.
    • ●iOS has no public RSSI or nearby-AP scan API. NetSpot on iPhone only speed-tests the associated SSID. Manual typed samples stay the iPhone path.
    • ●No controller scrape from the Plesk VM. wifi-heatmap stays the typed walk.
  5. this deploy

    Computers list and company-admin download

    Plant → Computers is the approved dense list: hostname, user, last seen, disk, Windows Update, agent, tickets. Company admin downloads a Windows installer stub scoped to that shop. Harborline rows are demo. Agent binary is not fully shipped. Remote desktop stays after launch.

    • ●Orange Download agent uses .btn-lantern. Filters are Site, OS, SMART, Updates, Agent plus search.
    • ●computers-tab stays Doing (list + download). pc-health and tray tickets are next. pc-remote-control stays Need to do.
    • ●No RDP column. Lantern never inbound-scans a customer PC. Did not invent a real customer.
  6. this deploy

    New launch cards show time left as soon as they are added

    Time left is how long that task takes to finish, not a blank bar until the 10-minute tick. The tick still restamps percent and remaining as work moves.

    • ●A new Need to do line gets an 8h / 1d estimate immediately unless the catalog already has hours.
    • ●Remaining is estimate × (1 − percent). lantern-launch-tick.timer restamps the label every 10 minutes. Password hashes untouched.
  7. this deploy

    Buttons match the form fields

    Shop buttons use the same modest corner as the date and search boxes. The orange gradient and glow stay. Not a pill.

    • ●Publish deadline, Sign in, Contact, login submit, and Jobs actions share --radius-control (10px) with inputs.
    • ●Orange gradient, glow, and hover stay. Icon-only circular controls stay circles.
  8. this deploy

    Computers is on the Plant menu

    MSP and Advanced shops see Computers in the left rail. Honest empty list until the onboarding Windows agent pushes hostname and last seen. SMART, tray tickets, and remote desktop are later. No fake VNC. No inbound PC scan.

    • ●Plant group: Monitor icon + Computers when expanded, icon-only when collapsed.
    • ●computers-tab is Doing (menu live). Agent binary is not this slice.
    • ●pc-health and pc-taskbar-ticket stay Need to do. pc-remote-control is after launch + pricing — not a fake in-browser desktop.
    • ●Cable Pro hides the item. Opening /computers on that package says Computers is an MSP package.
  9. this deploy

    Shop collector maps Meraki, UniFi, and Catalyst

    The shop box now speaks Meraki dashboard, UniFi classic on-site, and Catalyst RESTCONF with SNMP if RESTCONF is off. Same snapshot: port, status, VLAN, MAC, hostname, neighbor, PoE. Aruba / Juniper / MikroTik are stubs. Instant On is never scraped. Still need a real switch pull. plant-data-source stays Doing at 71%.

    • ●VENDOR=meraki|unifi|catalyst on the collector. HTTPS out to lantern.enlightenstudios.us. RFC1918 / management VRF only — no WAN sweep from Plesk.
    • ●Imported closets overlay MAC, hostname, VLAN, PoE, and neighbor. LDAP is MAC → plant directory. TDR stays typed.
    • ●Aruba Central, Juniper EX/QFX, and MikroTik are documented stubs. Omada later. No live DC bind. No Stripe.
  10. this deploy

    Invoice closeout emails the PDF to AP

    Company admin emails the Helvetica closeout PDF from the invoice. Reply-To is the shop billing mailbox. Open invoices mark Sent and remember who got it. Check or QuickBooks. No Stripe.

    • ●Invoice detail → Email PDF attaches the same file as Download PDF. Long jobs paginate so SKUs are not dropped.
    • ●Demo invoices stay Demo. Outfit theme fonts and shop logo upload stay on invoice-pdf-polish (held). Did not invent Stripe.
  11. this deploy

    Enlighten rail credit samples for Michael

    Four Powered-by rail variants to compare: not bold, bold smaller, not bold smaller, and bigger icon tucked closer. Live default is the combo. Side-by-side at /samples/enlighten-credit; signed-in rail also takes ?enlightenCredit=1|2|3|4.

    • ●Equal margins, no corner border. Tilted Enlighten bulb. Lantern / Billy marks unchanged.
    • ●Combo (shipped default): POWERED BY regular 8px + 44px icon at gap-1.
    • ●Public compare page for designer review without hunting chrome.
  12. this deploy

    Social card names the trades

    Link previews say MSP / IT / Cabling / Electrician Professionals — not jack / port / cert / invoice. Lockup and Powered by Enlighten stay.

    • ●public/lantern-og.png audience line and OG_IMAGE_ALT match the trades phrase.
    • ●Description leads with who Lantern is for. Tests lock the phrase so the old jack line cannot sneak back.
  13. this deploy

    Board: estimate → work order → invoice

    Need-to-do card for the paid-job flow shops need: create an estimate, turn it into a work order once approved, invoice when ready. Cable / IT / Electric packages. Not Accubid takeoff.

    • ●estimate-to-wo-invoice — HIGH PRIORITY for year-end income; needed for paid jobs.
    • ●Jobs today are draft → in progress → ready to bill → billed only. No estimate/quote stage yet.
    • ●electric-estimate stays done (electrical SKUs on WOs). This card is the missing approve→WO→invoice path. Ties jobs + invoice-pdf. No Stripe.
  14. this deploy

    Board: year-end income + Lens wall proof + new-build walk

    Need-to-do cards for paid cash by end of 2026 plus Michael’s Lens wall-faceplate proof and a new-build walk after the first check. lantern-launch-tick only refreshes percents on existing cards — it does not invent new lines.

    • ●lens-faceplate-proof — HIGH PRIORITY. Wall faceplate / jack proof in Lens (not MDF/IDF rack). Michael’s original idea.
    • ●neighbor-msp-cable / print-leavebehind / first-building — Tritech + Brew City PC outreach and leave-behind. Year-end income path.
    • ●new-build-walk — AFTER FIRST CHECK. Cabler Lens-mark → floor plan → IT adds hardware/APs. free-residential-tier + residential-floors stay later.
    • ●floor-wire-path stays Need to do — pathway overlay tool NOT shipped. Tick timer does not add cards; deploy boots the stamp.
  15. this deploy

    Board: year-end income path + neighbor calls

    Need-to-do cards for first paid cash by end of 2026: real building, Tritech + Brew City PC outreach, printed leave-behind. L3 HTTPS-OUT stays the MSP wedge. Free residential / house floors wait until after the first check.

    • ●neighbor-msp-cable — Tritech (Waukesha) + Brew City PC (Oconomowoc) with Kelley / RD / Edge / Kohl / Terminal-Andrae. Neighbors, not customers yet.
    • ●print-leavebehind — lockup + Powered by Enlighten for those meetings.
    • ●first-building / plant-csv / invoice-pdf / L3 / home-hardware-overview notes refreshed for year-end income. plant-data-source and first-building stay not done.
    • ●free-residential-tier + residential-floors — after first check / commercial first building. Do not build now. No Stripe. Harborline is not a customer.
  16. this deploy

    Powered by Enlighten in the rail corner

    Michael asked for StudioCredit in the empty top-left of the signed-in rail — above Plant, left of the header divider. Same bulb + 11px credit. Header keeps the Lantern lockup.

    • ●Expanded rail shows Powered by Enlighten Studios (stacked to fit). Collapsed rail is the bulb with aria-label.
    • ●Reuses StudioCredit and /enlighten-icon.png. Does not put the bulb on BrandLogo.
  17. this deploy

    Home study B adds a shop row

    Study B is the pick: five plant cards, then a quieter Tickets / Billing / Jobs row when those modules are on. Production Find is unchanged. Field seats see assigned work, not past-due AR.

    • ●home-hardware-overview is Doing (67%). Mike picked plant cards. Flag-gated shop row on /home-studies?study=b and /admin/home-studies?study=b.
  18. this deploy

    Enlighten rail bulb leans like the brand logo

    Signed-in rail corner icon rotates −30° to match the Enlighten Studios lockup lean. Powered by above ENLIGHTEN / STUDIOS, equal padding, no border — Lantern header mark unchanged.

    • ●CSS rotate(-30deg) on /enlighten-icon.png in EnlightenRailLockup only. Footer StudioCredit stays upright.
    • ●Still p-2.5 equal margins, no stroke. White ENLIGHTEN + orange STUDIOS. Did not touch Billy or Lantern marks.
  19. this deploy

    Enlighten lockup fills the rail corner

    Signed-in rail top-left is the real Enlighten Studios mark: bulb+windows, powered by / ENLIGHTEN / STUDIOS (orange), in a bordered corner box. Header Lantern lockup is a notch bigger.

    • ●Expanded: 36px icon + stacked wordmark. Collapsed: 40px icon with aria-label. Unified border uses panel-card radius/border.
    • ●Header BrandLogo / LanternMark is 40px tall (was 32px). Footer StudioCredit stays the small inline credit. Raw img, never next/image.
  20. this deploy

    Shop collector pushes switch ports into Lantern

    One token. HTTPS-out from a box that can see the switches, or a switch REST URL. Ports, MAC, hostname, VLAN, PoE, and LLDP neighbor POST to lantern.enlightenstudios.us. Harborline stays compiled. TDR is still typed — not from CAM. No live DC bind from this site.

    • ●POST /api/collector/ingest is org-scoped. Account issues the token. systemd unit lives in collector/.
    • ●Imported plants show collector MAC and hostname on Closets and the circuit. Typed inventory is the fallback.
    • ●Remaining: L3 port state and LDAP user from a shop box on a real switch. first-building stays on Mike’s street. No Stripe.
  21. this deploy

    L3 / LDAP / TDR is back on Doing

    Checked off plant-data-source after chassis labels. That hid Layer 3 and LDAP/TDR from Need to do and Doing. Card is back at 45%. Remaining is real port state and TDR, not a caption.

    • ●plant-data-source is Doing again. Typed fallback, no-live-bind copy, and plant-file LEDs are the ticks.
    • ●Still open: Layer 3 port state, LDAP user + TDR on SW-1E / SW-2W. No live DC bind or switch scrape.

Tuesday, September 15, 2026

  1. this deploy

    Remaining work is on the launch board

    Every open workstream Mike asked for today is now a row on /admin/launch and /launch, so picking this up on another machine or model starts from the board instead of chat history.

    • ●Logo: kit 11 is in progress; picking a kit number and locking it into favicon, apple-touch, header, and PWA icons is still open and waiting on Mike.
    • ●Electric Pro: package and published fee, electrical drops and panel numbers, breaker diagrams, an electrical Lens, and electrical estimating/billing. Nothing shipped yet. No Stripe.
    • ●Cameras: left-rail item, camera locations on the floor plan, and name/location/IP/MAC on the record. No NVR or ONVIF scrape this phase.
    • ●Floor-plan hover: device info and port state on hover, clickable into the record, the same hover for electrical once that plant exists, reading Layer 3 / LDAP-capable gear where it exists and typed inventory otherwise.
    • ●Nothing was marked done that has not shipped. First real building still needs Mike’s address and walk spreadsheet.

Wednesday, September 16, 2026

  1. this deploy

    Need to do: Ops forms fit a phone

    Mike caught Jobs, Billing, Tickets, Account, Team, and admin ops fields running past the screen on a phone. Card is on the board. Same wrap idea as Phone/Camera chassis. Not L3.

    • ●ops-mobile-fields — Ops forms must stay inside 320 / 375 / 390 / 430.
    • ●Keep Phone/Camera six-port wrap. Buttons stay 10px corners, orange gradient.
  2. this deploy

    Phone / Camera switch + panel stay inside a phone screen

    Harborline Phone and Camera circuit pages keep the switch and patch-panel chassis on screen. PortGrid is six ports wide at 320 / 375 / 390 / 430. Source detail wraps. No live DC bind.

    • ●phone-camera-mobile-fit — PortGrid is six ports wide on a phone. HardwareBay is max-w-full overflow-hidden.
    • ●PageFrame uses safe-area insets. Display titles overflow-wrap anywhere. Harborline walk is 214-A and the dock camera.
  3. this deploy

    Enlighten rail credit: equal margins, no border

    Signed-in rail top-left is the real Enlighten bulb with Powered by above ENLIGHTEN / STUDIOS in brand colors. Equal padding only — no stroke around the corner. Header Lantern lockup is a notch bigger.

    • ●Expanded: 36px icon + stacked Outfit wordmark (white ENLIGHTEN, orange STUDIOS). Collapsed: 40px icon with aria-label.
    • ●Corner wrapper is p-2.5 all around. No border / card stroke. Footer StudioCredit stays the small inline credit.
    • ●Header BrandLogo / LanternMark is 40px tall (was 32px). Not next/image.
  4. this deploy

    OG card capitalizes Professionals

    Audience line is MSP / IT / Cabling / Electrician Professionals — capital P. OG card frozen after this.

    • ●public/lantern-og.png, OG_IMAGE_ALT, and description use Professionals.
    • ●Tests lock the capital P so lowercase cannot sneak back.

Tuesday, September 15, 2026

  1. this deploy

    Logo kit 10 — notched lantern A

    The review A on /brand now has a light-ray V-cut at the base and padding inside the square. Kit 9 stays. Kit 10 is twenty more lockups in the White word colors. Live favicon and header stay kit 8 option 3 until Mike picks.

    • ●Kit 9 White word is still #13. Kit 10 is a second sheet on the same /brand page.
    • ●Did not replace public/lantern-icon.png or lantern-lockup.png.

Wednesday, September 16, 2026

  1. this deploy

    Rail Powered by Enlighten fills the corner

    Expanded rail credit is obviously larger: 17px bold Enlighten Studios and 32px bulb in the h-14 cell. Powered by stays 11px. Collapsed bulb is 36px.

    • ●Same StudioCredit + /enlighten-icon.png — no second lockup.
    • ●Footer StudioCredit stays the small 11px / 16px inline credit.
  2. this deploy

    Launch board cards back, buttons 10px again

    Concurrent deploys had wiped Need-to-do cards and turned orange buttons back into pills. Catalog is whole again. Buttons match the 10px fields. Computers lists, collector, and six-port chassis stay.

    • ●Need-to-do restored: L3 / plant-data-source, phone RSSI, RMM CSV then shop APIs, SMART / tray tickets / RDP-after-launch, first building, ops Guide, org plant, heatmap, price book polish.
    • ●.btn-lantern is 10px square-round with the orange gradient — not a pill. Phone/Camera chassis still wrap six wide.
    • ●Did not mark plant-data-source done. Did not invent a first-building address. Did not live-bind LDAP. Password hashes untouched.
  3. this deploy

    Started Lens from this company’s plant

    Closet picker already reads the org snapshot. Empty plant tells you to load a walk CSV. Add device now uses that closet’s floor, not Harborline 1 or 2. Overlay HUD still a short switch-port list.

    • ●starting lens-org-plant / Lens closet picker + overlay from this company’s plant.
    • ●Harborline demo still walks. Overlay is not a live switch scrape. No Stripe.

Tuesday, September 15, 2026

  1. this deploy

    Logo kit 9 — orange and darker purple

    Twenty new lockups on one sheet at /brand. Same triangular A. More orange than the live tan, darker purple than the lavender ring. Live favicon and header stay kit 8 option 3 until Mike picks.

    • ●Print this sheet on /brand. Live now strip shows today’s lockup so you can compare.
    • ●Did not replace public/lantern-icon.png or lantern-lockup.png.

Wednesday, September 16, 2026

  1. this deploy

    Link previews show the Lantern card

    SMS, iMessage, Facebook, and X unfurl a navy Lantern card — lockup, MSP / IT / Cabling / Electrician Professionals, Powered by Enlighten. Absolute https image, not a blank title.

    • ●Root metadata now has metadataBase, Open Graph, and Twitter large-image tags. Pages inherit the card.
    • ●1200×630 public/lantern-og.png is the real lockup on navy, served from nginx httpdocs. Not /_next/image.
  2. this deploy

    Launch board: three shop gaps from the live audit

    Walked the live Harborline app. Added Need to do cards for shop ticket close, mailing the invoice PDF, and device rows on the walk CSV. Did not invent a first building. No Stripe.

    • ●shop-ticket-status — /tickets cannot Take it / Done. That stays on the Enlighten operator board today.
    • ●invoice-email — Download PDF is live. The closeout does not mail to bill-to.
    • ●plant-csv-endpoints — Walk CSV has closet / jack / room. Phones and cameras on an imported plant wait on Lens.
  3. this deploy

    Port state from Layer 3 or LDAP-capable gear

    Closet LEDs still follow the plant file. Typed inventory is the fallback. Harborline SW-CORE is Layer 3; SW-1E and SW-2W are LDAP-capable. Copy never claims a live DC bind.

    • ●starting plant-data-source / Port state from Layer 3 / LDAP-capable gear, else typed inventory.
    • ●Each chassis names its source. Panels stay typed. No live LDAP bind or switch scrape.
  4. this deploy

    Walk CSV can carry phones, cameras, and hosts

    A live building’s walk file can list the phone, camera, or PC on each drop. /phones and /cameras read those rows. POST /api/plant/csv loads the file; GET exports it. Harborline stays the compiled demo.

    • ●starting plant-csv-endpoints / Walk CSV can carry phones, cameras, and hosts — imported Phones and Cameras lists were empty until Lens filed a drop.
    • ●Optional kind, hostname, MAC, IP, VLAN, extension, and a daisy-chained host. Shop CSV of closet / room / jack still works. Did not invent a first-building address.

Tuesday, September 15, 2026

  1. this deploy

    Price sheet print fills the page

    Print this sheet no longer leaves Packages stranded over a blank gap, and the white paper frame around the dark sheet is gone. Rates, packages, and import each get their own page.

    • ●Packages starts on page 2 with the four cards. Plant import and how you pay are page 3.
    • ●Print margin is ink to the paper edge. Card drop shadows are off so the sheet is not a box inside a box.

Wednesday, September 16, 2026

  1. this deploy

    Phones, Cameras, and Air match the Computers list

    Same filterable table Mike approved on Computers: 10px filters, panel cards on a phone, dense table on a laptop. Green/red up-down, IP and MAC you can copy, VLAN, jack, and switch. Heatmap on Air stays the walk.

    • ●plant-list-by-floor is done. Floor dropdown with counts. Click a row for the circuit path.
    • ●Did not change the Computers layout. Agent download and remote-desktop rules stay.

Tuesday, September 15, 2026

  1. this deploy

    Price sheet prints on three pages

    Print this sheet on contractor pricing no longer adds a blank first or last page. The signed-in header and footer stay off the PDF. The sheet itself is the document.

    • ●App rail, sticky header, and Powered by footer are hidden when you print a contractor sheet.
    • ●Viewport-tall shells are collapsed so Chrome does not invent empty letter pages around the copy.

Wednesday, September 16, 2026

  1. this deploy

    Shop tickets can Take it and Done

    /tickets is the shop board. Company admins, techs, and Harborline demo seats mark Take it, Park, or Done on their own company’s tickets. Employees can read the list. Not the Enlighten operator board.

    • ●Take it, Park, and Done sit on /tickets next to Open / In play / Done. Same statuses as the Enlighten board, for this company only.
    • ●Harborline samples still walk. Operator admin stays /admin/board. No Stripe. Password hashes untouched.
  2. this deploy

    Export the loaded plant as CSV

    After a walk CSV is on a real building, Account and the client record download that plant. Load the file back with Replace. Harborline stays the compiled demo.

    • ●starting plant-csv-roundtrip / Export the loaded plant as CSV — testers were retyping drops to prove import.
    • ●Export CSV sits next to Load CSV. Harborline cannot export over the demo plant. Next: Lens from this company’s plant.
  3. this deploy

    Collector overlay on imported closets, walk CSV roundtrip

    A shop collector push paints MAC, hostname, VLAN, PoE, and LLDP neighbor onto imported Closets and Lens. Walk CSV import/export carries phones, cameras, and hosts on a real building. Harborline stays the compiled demo. Layer 3 is not done until a real switch pull.

    • ●plant-data-source stays Doing at 76%. Remaining is port state and LDAP user from a shop box on a live switch. No live DC bind from lantern.enlightenstudios.us.
    • ●GET/POST /api/plant/csv roundtrips the loaded plant. Optional kind, hostname, MAC, IP. Did not invent a first-building address.
    • ●.btn-lantern uses --radius-control 10px. Phone/Camera chassis stay six ports wide. Computers lists stay.
  4. this deploy

    Ticket from a floor pin

    On Floors, hover a jack, camera, or electrical drop and tap Ticket. That files a shop ticket on the drop with the path. Harborline testers use 214-A. Not the Enlighten operator board.

    • ●starting drop-ticket-from-pin / Open a ticket from a floor pin — techs were leaving the plan to file trouble.
    • ●Shop ticket lands on /tickets with jack / panel / switch on the card. Operator admin is sent to the Enlighten board.
    • ●Find-by-floor and the printed /walk script ship in this deploy. first-building stays parked for Mike’s street. Next: export the loaded plant as CSV. No Stripe. Password hashes untouched.
  5. this deploy

    Printed leave-behind for neighbor meetings

    One sheet at /for-contractors/leavebehind for Tritech, Brew City PC, and the Kelley line. Lockup and Powered by Enlighten print. Not a new homepage.

    • ●print-leavebehind — Year-end income #3. Print this sheet. No Stripe.
    • ●Neighbors, not customers yet. Did not invent a first-building address.
  6. this deploy

    Estimate → work order → invoice

    Jobs can write a customer estimate from the price book. Approve turns it into a work order. Ready-to-bill still writes the invoice PDF. Not Accubid takeoff. No Stripe.

    • ●estimate-to-wo-invoice — Cable / IT / Electric SKUs. Same catalog as Write invoice.
    • ●An estimate cannot jump to billed. Approve first.
  7. this deploy

    Switches list from the plant file

    /switches lists chassis from this company’s plant. Home study Switches opens that list. Closets stay racks. The rail did not grow a new word. Not a live scrape.

    • ●switches-tab — floor, closet, live vs fault ports. Link from Closets. Plant nav freeze.
    • ●plant-data-source stays not done. Did not invent a first-building address.
  8. this deploy

    Find can stay on one floor

    Harborline testers (and a shop with their own plant) can filter Find to Basement, Floor 1, or Floor 2. Search keeps the floor. First real building stays blocked on Mike’s street and spreadsheet.

    • ●starting find-by-floor / Find filtered to one floor — testers were hunting the whole building for a floor of jacks.
    • ●Floor chips: All, then this plant’s floors. Not a wrapping slogan. Electric Pro outlet and panel hits follow the same floor.
    • ●first-building moved off Doing. Waiting on Mike’s real address. Did not invent one. No Stripe. Password hashes untouched.
  9. this deploy

    Write invoice from this shop’s price book

    Billing Write invoice picks SKUs from the company price book — the same catalog a work order uses. Qty is how many to bill. Not warehouse inventory. Closeout still uses the invoice PDF.

    • ●invoice-from-catalog — qty per SKU on /billing. No qty-on-hand, receiving, bins, or barcode stock. No Stripe.
    • ●Same catalog lines as Jobs. PDF download and email stay invoice-pdf.
  10. this deploy

    Collector live pull: Aruba, Juniper, MikroTik

    The shop box can pull AOS-CX, Junos REST, and RouterOS the same way it already pulls Meraki, UniFi, and Catalyst. Instant On is never scraped. No WAN sweep from Plesk.

    • ●VENDOR=aruba|juniper|mikrotik on RFC1918. Same POST /api/collector/ingest snapshot.
    • ●A real street switch stays first-building / plant-data-source. Did not invent a Waukesha address.
  11. this deploy

    Collector overlay, Lens plant, walk heat, shop guide

    Collector hosts land without a jack walk and without the switch already on the plant. Lens reads this company’s closets. Air heat is the typed walk. /guide how-tos match that.

    • ●l3-endpoints — no-walk overlay plus a collector switch that was not on the CSV yet.
    • ●lens-org-plant — Harborline still walks. Empty plant tells you to load a CSV. Real street is first-building.
    • ●wifi-heatmap — typed RSSI blooms. Real-street samples are first-building. Native dBm is wifi-phone-rssi.
    • ●ops-guide-plant — collector / Lens / Air copy restamped. Rail and OG freeze, so Harborline PNGs stayed.
  12. this deploy

    Printed Harborline tester walk

    Signed-in testers print /walk: Find a drop, Floors pins, Air heat, Billing PDF, Lens snaps, then the walk CSV — plus a jack checklist grouped by floor. Harborline is the demo plant, not a customer.

    • ●Print this walk. 214-A / HL-2W-1414 / IDF-2W is the Harborline stop. Orange jacks, cyan cameras, amber electrical on Floors.
    • ●Jack table is basement / floor 1 / floor 2 from the plant file. Did not invent a Waukesha address. Next card is Find filtered to one floor.

Tuesday, September 15, 2026

  1. this deploy

    Closet, Air, and heatmap are on the launch board

    MDF/IDF faceplates and port-to-circuit are checked. Remaining closet work is on /launch: company plant on Find/Lens, floors geometry, walk-sample heatmap, honest Air/Stats, server snaps. No live LDAP or switch scrape this phase.

    • ●Find home, Lens overlay, Phones, Air, and Stats read the company plant. Harborline keeps the Tacoma sample story.
    • ●Walk samples are the heatmap on a real building. Port legend no longer claims a live LDAP bind.
    • ●Still open: server Lens snaps, floors plate for an imported building, a real Waukesha plant file from Mike.

Wednesday, September 16, 2026

  1. this deploy

    Aruba / Juniper / MikroTik map the same collector snapshot

    Shop collector JSON from Aruba Central / AOS-CX, Juniper EX, and MikroTik RouterOS maps into the same port push as Meraki, UniFi, and Catalyst. Live pull of those three stays a stub until a box on the LAN sees gear. Collector hosts still overlay when the jack walk is missing. Instant On is never scraped.

    • ●Aruba, Juniper, and MikroTik vendor JSON maps MAC, hostname, VLAN, PoE, and LLDP neighbor into POST /api/collector/ingest.
    • ●No-walk overlay: a collector client lands on the closet without a typed jack circuit. LDAP user is still MAC → plant directory, not a live DC bind.
    • ●Meraki / UniFi / Catalyst live pull unchanged. Real switch pull and first-building stay open. Did not restyle frozen OG, rail, or plant lists.
  2. this deploy

    Launch board: invoice PDF polish and floor lists

    Two more Need to do cards on /launch. Invoice PDF polish is low priority after the thin closeout. Phones, Cameras, and Air lists grouped by floor sit after core field. Features are not built yet.

    • ●invoice-pdf-polish — theme fonts, nicer closeout, shop logo on the Billing PDF. LOW PRIORITY. No Stripe.
    • ●plant-list-by-floor — dropdowns by floor (Floor 3 → 14 phones). Click a device for floor, patch panel, and switch already on the plant.
  3. this deploy

    Rail Enlighten credit locked to almost-perfect

    Signed-in rail corner is Michael’s almost-perfect lockup again: tilted bulb tucked to POWERED BY / ENLIGHTEN / STUDIOS, equal padding, no border. Samples, real-logo swap, and bordered boxes stay out.

    • ●EnlightenRailLockup only: −30° /enlighten-icon.png, gap-0 + −ml-2.5 tuck, STUDIOS orange.
    • ●No sample query variants and no /enlighten-logo.png in the rail. Durable rule: do not change unless Michael asks.
    • ●Did not touch lantern-og*. Nav restore (Computers / device lists) stays.
  4. this deploy

    Launch tick stamps each Doing card’s percent and time left

    Every 10 minutes the launch tick writes stored progress and remaining time onto the cards agents are on. Doing rows no longer sit at a default 50%. Next Harborline tester function is phones/cameras/APs by floor.

    • ●lantern-launch-tick.timer stays 10 minutes. currentWork is the same Doing cards Mike sees, with progress + remainingLabel.
    • ●Honest Doing percents: heatmap 83, Air/Stats 80, floors 60, first-building 40, ten-day-beta 75. Time left like 2d left.
    • ●plant-list-by-floor is queued next. Invoice PDF fonts/logo, a la carte, Lantern launch site, and first-building stay held.
  5. this deploy

    Doing cards show stored percents, not a shared 50

    Floors, heatmap, Air/Stats, and first building no longer paint as 50%. Each card keeps its own 0–100 and time left from the estimate.

    • ●floors-org-plant 70% · wifi-heatmap 80% · wifi-stats 65% · first-building 40%. Need to do is 0. Done is 100.
    • ●Time left is estimateHours × (1 − progress/100), like 2d left. The 10-minute launch tick restamps labels. Password hashes untouched.
  6. this deploy

    Collector overlay classifies clients; replica hook later

    Imported closets classify phones, APs, printers, and PCs from the collector client name. Guest SSIDs are skipped. Remote replica is a documented env hook only — Sign in stays SQL-primary with JSON backup.

    • ●Overlay matches switch FQDNs and names phones / APs / printers / cameras from the controller client. A neighbor phone on a PC stays a workstation.
    • ●Meraki and UniFi skip guest / visitor SSIDs. Neighbor walk does not hop a guest SSID. No WAN sweep from Plesk.
    • ●Aruba / Juniper / MikroTik map a pasted one-shape JSON; live pull stays a stub. Instant On never. Real switch pull is not done.
    • ●LANTERN_DATABASE_REPLICA_URL is parsed and ignored for Sign in. Never delete lantern.json. Did not restyle frozen OG, rail, or plant lists.
  7. this deploy

    Each launch card shows its own percent and time left

    Need to do / Doing / Checked cards on /launch no longer share a flat 50%. Doing cards use stored progress 0–100. Time left is that task’s remaining hours from the estimate.

    • ●Need to do is 0. Doing uses the stored percent. Checked is 100.
    • ●floors-org-plant 70%, wifi-heatmap 80%, wifi-stats 65%, first-building 40%. Open cards stay 0%.
    • ●Remaining is estimateHours × (1 − progress/100), labeled like 2d left. systemd lantern-launch-tick.timer stays 10 minutes. Password hashes untouched.
  8. this deploy

    Sessions, logins, and idle timeout

    Enlighten and company admins can see who is signed in, a login audit, and revoke a seat. Quiet seats time out after 12 hours. Sign in still works. No passwords or hashes in the log.

    • ●Account lists this device and last seen. /admin/sessions is the operator list plus the login audit.
    • ●Idle default is 12 hours (LANTERN_SESSION_IDLE_HOURS). Revoke writes the registry; the next page signs that cookie out.
    • ●SQL-primary store, JSON backup. Did not flip dual-read off. Did not restyle frozen OG, rail, or plant lists.
  9. this deploy

    Air and Stats lead with the walk, not Tacoma fiction

    Find, Air, and Stats now count typed walk samples as the wifi numbers. Harborline switch PoE, VLAN mix, and associated clients stay labeled sample. The heatmap blooms already shipped.

    • ●Stats opens on walk quality / band / SSID. Sample PoE and top talkers no longer look live.
    • ●Find’s wifi KPI is walk samples. Harborline-Corp client counts stay in the hint, labeled sample.
    • ●Did not touch launch card bars, the price sheet, or first-building. Native iPhone RSSI is still not this phase.
  10. this deploy

    Store runs on Postgres — JSON is the backup

    Sign in and getStore read local Postgres after a dual-read proof. mutateStore writes the full store (tickets, plants jsonb, boards) to SQL; lantern.json stays on disk as backup and is never deleted.

    • ●LANTERN_SQL_READ=1 in the systemd drop-in. Password stays in /etc/lantern/database.env (0600, not git).
    • ●Ten seats, operator scrypt hash unchanged. Empty or mismatched SQL falls back to JSON.
    • ●Roll back by running deploy/postgres-sql-read.sh off — JSON remains source of truth.
  11. this deploy

    Save highlight clip actually shows under Locations

    Harborline demo can pin room 201 on floor 2 and the crop appears on the Locations card. The previous save wrote lantern.json, then Floors kept reading a second in-memory copy with zero regions.

    • ●One process-wide JSON store cache so the save action and the Floors page see the same floorPlanRegions.
    • ●Locations also keep the just-saved region until the page refresh catches up, then rasterize the clip.
    • ●Did not turn on LANTERN_SQL_READ. Did not restyle frozen OG, rail, or plant lists.
  12. this deploy

    Postgres loaded — Sign in still JSON

    Client data is copied into local Postgres. mutateStore dual-writes when LANTERN_DATABASE_URL is set. Live Sign in still reads lantern.json. JSON stays the backup until a dual-read is proven.

    • ●Least-privilege role lantern, database lantern, password in /etc/lantern/database.env (0600, not git).
    • ●Importer copies stored password hashes unchanged. Verify compares user counts and the operator hash without printing hashes.
    • ●LANTERN_SQL_READ is unset. Do not point Sign in at an empty database.
  13. this release

    Save highlight shows the clip under Locations

    A PDF highlight on Harborline floor 2 room 201 now saves, binds to Dispatch, and crops onto the room and the Locations card. Live store had the drawing with zero floorPlanRegions.

    • ●Save writes one JSON payload so the room, page, and rectangle cannot drop out of FormData.
    • ●Room 201 binds from rm-201 or the 201 Dispatch label. Floors and Air revalidate after save.
    • ●Did not restyle the rail or frozen plant lists.
  14. this release

    Need to do: sessions, logins, timeouts

    Michael asked for a board card to track and manage user sessions. It sits in Need to do after first-building, before chrome / logo / print. Not shipped. Sign in still reads lantern.json.

    • ●auth-sessions — session list, login audit, idle timeout, revoke, no secrets in the log.
    • ●Did not install Postgres. Did not restyle frozen OG, rail, or plant lists.
  15. this deploy

    Electric + Cable Pro costs more than Electric Pro

    Electric + Cable Pro is $149 office and $50 field. Electric Pro stays $99 / $35. The combo includes floors, APs, and closet/cable on the electric rail — one subscription, not two stacked $99s. MSP stays $79. Advanced stays $129. No Stripe.

    • ●Price sheet, package picker, Account, and Admin → Clients show the higher combo meter. Cable Pro and Electric Pro stay $99 office + $35 field.
    • ●Freeze if seats age out still applies to every billed package. Plant file stays. Harborline demo and the operator seat do not freeze this way. Check or QuickBooks, Net 15.
  16. this deploy

    Store SQL map — still JSON Sign in

    The opt-in Postgres schema now covers users, orgs, and the rest of the shop store (buildings, tickets, jobs, plants as jsonb, collector token hashes). Live Sign in still reads lantern.json. Production stays on JSON until LANTERN_DATABASE_URL is set and a dual-read is proven.

    • ●Importer copies stored password hashes unchanged. Re-import does not overwrite a hash already in SQL.
    • ●Generic DATABASE_URL is ignored so a stray env cannot cut Sign in over.
    • ●Least-privilege grants live in deploy/postgres-grants.sql with no password. Disk is tight — no dumps in the web root, Postgres not installed on the Plesk box this pass.
  17. this deploy

    Launch board: durable store on top; JSON still live

    Doing and Need to do now sort most important first. P1 is a durable client database (JSON→Postgres path already in the tree). Live Sign in still reads lantern.json. No production cutover. Frozen lists, rail, and OG are not workstreams.

    • ●Doing: durable-client-db → auth-sql-opt-in → collector / plant-data-source → floors imported plant (function) → ten-day-beta. Samples and chrome sit below.
    • ●Need to do: first-building first, then function work. Logo pick, print leave-behind, residential floors, samples, and styling sit lower. Hold chrome at the bottom.
    • ●Remote replica is a later step on durable-client-db after dual-read is proven. Password hashes untouched. rsync still excludes data/.
  18. this deploy

    Collector walks unknown RFC1918 neighbors

    Shop collector follows LLDP/CDP to other private-LAN switches, not only the chassis you named. Phones stay endpoint names. No WAN sweep from Plesk. No guest SSID.

    • ●Catalyst RESTCONF hops rewrite the seed URL onto a neighbor management IP after assertAllowedCollectorTarget.
    • ●Not a live switch pull on a customer street.
  19. this deploy

    Shop guide pictures are on the how-tos

    /guide Harborline PNGs are in the tree and on the plant how-tos. Did not restamp chrome. Did not restyle the rail or OG card.

    • ●Find, Floors, Lens, Closets, Phones, Cameras, Computers, Air, login, jobs, billing, account figures point at public/guide.
    • ●Restamp stays open until screenshots are actually refreshed.
  20. this deploy

    PDF clip is the room on Floors and Air

    A highlight on the floor-plan PDF is now that room's box. Jacks, cameras, closets, and electrical pins sit in the clip — not a photo stretched into the Harborline or CSV rectangle.

    • ●Regions are 0–1 on the PDF page, mapped onto the 1000×580 plate.
    • ●Harborline demo camera spots yield when that room has a clip.
    • ●A real street plate is still first-building. This card stays Doing.
  21. this deploy

    Launch board timer ticks every 10 minutes

    systemd lantern-launch-tick.timer on the Plesk VM curls loopback /api/internal/launch-tick every 10 minutes so launchBoard.tickedAt stays current. Not a job-queue product. Password hashes untouched.

    • ●OnUnitActiveSec=10min. Deploy copies the unit, daemon-reloads, and enable --now.
    • ●Loopback or X-Lantern-Tick secret. Remaining still computes from clock + deadline if the timer is down.
  22. this deploy

    Opt-in Postgres schema for auth — Sign in still JSON

    JSON on a root-only VM is not insecure because it is JSON. SQL is better later for concurrent writes and backups. Live Sign in still reads lantern.json. Hashes stay scrypt strings; Postgres does not encrypt them.

    • ●LANTERN_DATABASE_URL unset = no-op. mutateStore still writes /root/Lantern/data/lantern.json.
    • ●Schema covers orgs, users, password resets, and a reserved sessions table (cookies today).
    • ●Importer copies stored password hashes unchanged. Fixture tests, not live hashes in git.
    • ●Turn on later: install Postgres off the login path, apply deploy/postgres-auth.sql, dry-run the importer, then the systemd drop-in. Do not point Sign in at an empty database.
  23. this deploy

    Launch board shows honest percent and time left

    Cards, phases, and the whole board average stored progress (0–100) instead of only 0 / 50 / 100. The board shows days left to charge day, and an hourly timer on the server keeps the stamp current.

    • ●In-progress cards can set 1–99%. Done is 100. Not done is 0.
    • ●Time remaining is live from the published deadline. Overdue is labeled overdue.
    • ●systemd lantern-launch-tick.timer curls loopback /api/internal/launch-tick each hour. No job-queue product. Password hashes untouched.
  24. this deploy

    Published $99 / $35 fee and freeze if seats age out

    Cable Pro and Electric Pro stay $99 office and $35 field. Admin shows that meter on the client. If seats age out, Enlighten marks past due and company logins freeze. The plant file stays. Charge Friday, September 25. No Stripe.

    • ●Price sheet, package picker, Account, and Admin → Clients all show the published office / field numbers. Check or QuickBooks, Net 15.
    • ●Past due freezes that shop’s sign-in. Harborline demo and the operator seat do not freeze this way. Did not mark first-building done.
  25. this deploy

    Enlighten rail icon shifted 10px left

    POWERED BY / ENLIGHTEN / STUDIOS unchanged. The bulb only moves 10px left.

    • ●translateX(-10px) on the expanded rail icon. Type column untouched.
  26. this deploy

    Rail type no longer overlaps; POWERED BY is small again

    −ml-4 sat on the bulb. Type is −ml-3. POWERED BY is back to 8px, not 11px.

    • ●Type column −ml-3. POWERED BY 8px font-medium. ENLIGHTEN / STUDIOS stay 13px. Icon unmoved.
  27. this deploy

    Rail type tucked left toward the Enlighten icon

    POWERED BY / ENLIGHTEN / STUDIOS stay exactly where they were. The whole type column moves left toward the bulb. Nothing else.

    • ●Type column margin −ml-4 (was −ml-2.5). Same caps, same heading font, POWERED BY not bold, no border.
    • ●Icon unmoved. OG card and plant lists untouched.
  28. this deploy

    Computers, Phones, and Cameras lists are frozen

    Michael confirmed the inventory lists are correct. Deploy refuses a SUPERSET from a behind branch that would drop Plant → Computers / Phones / Cameras or revert DeviceInventory to cards. Operator → Note stays with the same restore set.

    • ●Checksums in deploy/frozen-files.sha256. scripts/check-frozen-files.sh plus deploy-production.sh abort on mismatch or a non-SUPERSET of live .deploy-sha.
    • ●Rule .cursor/rules/lantern-plant-lists-freeze.mdc. Enlighten rail lockup left to the rail agent — not frozen here.
  29. this deploy

    Rail Enlighten credit: not bold, no border, tucked icon

    Michael: POWERED BY is no longer bold, the rounded box stroke is gone, and the tilted bulb sits tighter against ENLIGHTEN / STUDIOS. Then freeze — agents cannot restyle it without Michael asking.

    • ●POWERED BY is font-medium (not bold). ENLIGHTEN stays white; STUDIOS stays orange. Tilted torch kept.
    • ●Equal padding only (p-2.5). No pill, ring, or rounded card around the credit.
    • ●44px icon at gap-0 with −ml-2.5 tuck. Checksum in deploy/enlighten-rail-freeze.sha256. OG/SMS card untouched.
  30. this deploy

    Catalog: switches-tab matches live board

    Re-added switches-tab to LAUNCH_CATALOG and the launch-board rules table. Live already had the Need-to-do card — seed is not_done only. Did not mark it done. Closets stay rack faceplates; Switches stays the DeviceInventory list of L3 boxes.

    • ●switches-tab — Need to do. Same DeviceInventory chrome as Computers. Not shipped.
    • ●Catalog + lantern-launch-board.mdc now list the id so main matches live. OG freeze untouched. Rail untouched.
  31. this deploy

    Restored Computers, cameras/phones lists, and the family note

    Michael was not crazy. Concurrent SUPERSET thrash wiped Plant → Computers, the DeviceInventory Phones/Cameras/Air lists, and Operator → Note from product source while another build was still live. Restored from the known-good tip. OG card freeze untouched.

    • ●Plant → Computers is back on the IT rail (MSP / Advanced). Harborline demo rows stay.
    • ●Phones, Cameras, and Air use the same list chrome again — floor, up/down, VLAN, search.
    • ●Operator → Note (/admin/projections) is back for the family projections sheet.
  32. this deploy

    SMS card cache-bust for capital-P Professionals

    og:image now points at /lantern-og-v2.png?v=professionals-cap-p (same frozen capital-P PNG). SMS/iMessage were still showing lowercase p from the old /lantern-og.png URL.

    • ●Live PNG was already capital P; SMS clients cache the bare image URL aggressively.
    • ●Meta + twitter image use the v2 twin. nginx httpdocs serves both lantern-og.png and lantern-og-v2.png under the freeze guard.
  33. this deploy

    SMS / OG card frozen so SUPERSET cannot overwrite it

    public/lantern-og.png is frozen at sha256 8a14e0a0… (lockup + MSP / IT / Cabling / Electrician Professionals). Deploy and remote-release refuse a different file unless Michael unfreezes.

    • ●deploy/lantern-og.sha256 + scripts/deploy-production.sh + deploy/remote-release.sh assert_og_freeze.
    • ●Rule .cursor/rules/lantern-og-freeze.mdc. Launch board sms-og-card done. Generator refuses regenerate without LANTERN_OG_UNFREEZE=1.
  34. this deploy

    SMS / OG card restored after rail SUPERSET overwrite

    Rail lockup deploy 54e13fc re-shipped the older lowercase professionals PNG over the capital-P card from d819f63. Restored current Lantern lockup + Professionals.

    • ●public/lantern-og.png matches the capital-P Professionals card again (a0340ddc).
    • ●Generator, OG_IMAGE_ALT, description, and tests lock Professionals so a later SUPERSET cannot quietly restore lowercase.
  35. this deploy

    Bigger Enlighten Studios in the rail corner

    Rail StudioCredit: Enlighten Studios name and bulb scale up to fill the h-14 corner above Plant. Powered by stays 11px. Footer credit unchanged.

    • ●Expanded: 24px bulb + 14px Studios name; Powered by remains 11px.
    • ●Collapsed: 28px bulb, same aria-label. Still /enlighten-icon.png via StudioCredit only.
  36. this deploy

    Home study B splits Tech vs company admin

    Study B shows plant faults plus my tickets and jobs for techs, and the full five cards plus billing for company admin. Harborline has Tech / Admin previews. Operator /admin home is unchanged.

    • ●Tech: plant faults, my tickets, my jobs — no AR. Company admin: five cards, all tickets/jobs, billing if flags on. /home-studies?seat=tech|admin. /admin/home-studies is a company-admin mock.
  37. this deploy

    Need to do: Switches list under Plant

    Card is on the launch board. Not shipped. Closets stay the rack faceplate. Switches will be the filterable L3 inventory — name, IP, MAC, VLAN, model, up/down, site — same list chrome as Computers. Rows come from shop collector HTTPS-out or Harborline demo. Real pull stays plant-data-source. No live LDAP bind.

    • ●switches-tab — Need to do. Same DeviceInventory chrome as Computers / APs / Phones / Cameras.
    • ●Sits beside the collector overlay. plant-data-source is still the real switch pull. Did not mark that card done.
  38. this deploy

    Board: home hardware studies + invoice from catalog

    Need-to-do cards for a signed-in home hardware overview and a Write invoice that picks price-book SKUs. Three live study pages so a look can be picked. Production Find is unchanged. Not warehouse inventory.

    • ●home-hardware-overview — studies at /admin/home-studies and Harborline /home-studies?study=a|b|c. Phones, Cameras, Air, Computers, Switches. Closets stay racks.
    • ●invoice-from-catalog — Write invoice from this company’s price book. Same SKUs as work orders. Not qty-on-hand, receiving, bins, or barcode stock. Cross price-book and invoice-pdf.
    • ●switches-tab stays the sibling Switches list card. first-building stays parked. No Stripe. No LDAP scrape. plant-data-source stays not done.
  39. this deploy

    Ops forms wrap on a phone

    Jobs, Billing, Tickets, Account, Team, and the Enlighten admin tools no longer shove input rows past the screen. Fields shrink and stack. Phone and Camera switch grids stay six ports wide.

    • ●Native selects and inputs are min-w-0 max-w-full. Ticket kind/severity/building stack. Launch deadline dropped the 12rem min-width.
    • ●PageFrame keeps overflow-x-hidden and safe-area padding. Buttons stay 10px, not pills. Orange gradient unchanged.
    • ●ops-mobile-fields is live on lantern.enlightenstudios.us. Did not bump L3 or plant-data-source.
  40. this deploy

    Wire pathways added to the board

    Need to do on the launch board: cabling techs mark cable paths over the existing Floors PDF. The drawing upload is already live — this card is the pathway overlay, not a second floor product. Not shipped.

    • ●floor-wire-path — overlay cable runs on the Floors PDF already in the shop. Not closet port→circuit. Not L3. Not first-building.

Tuesday, September 15, 2026

  1. this deploy

    Past due freezes company logins

    Published Cable Pro fee stays $99 office + $35 field. If Enlighten marks a customer past due, that shop cannot sign in. The plant file stays. Harborline demo and the operator seat do not freeze this way.

    • ●Sign in and an already-open session both stop for a past_due customer. Plant CSV and Find records stay on disk.
    • ●Did not mark first-building done. Did not build Stripe.
  2. this deploy

    Invoice PDF download

    The office can download a thin closeout PDF from an invoice — number, PO, lines, total. Payable by check or QuickBooks. No Stripe.

    • ●Invoice detail → Download PDF. Helvetica only, no extra package. Demo invoices stay marked Demo.
    • ●Line prices come from that company’s price book. Did not invent a first real building.
  3. this deploy

    Each company has a price book

    Company admins set the SKU prices techs hang on a work order. New lines and invoices use that book, not the placeholder catalog. Harborline can beta it. Not Enlighten’s seat fee.

    • ●Billing → Price book. Catalog SKUs stay; a shop can reprice them or add its own code. Enlighten picks the company first.
    • ●Did not mark plant-csv or first-building done. A real Waukesha plant still needs Mike’s spreadsheet.

Wednesday, September 16, 2026

  1. this deploy

    Mike’s Merge click did not break the live site

    Merging a Cloud Agent draft on Origin does not rsync the Plesk VM. Publish deadline is 10px again after a later remainder rsync had put the pill back. Computers, six-port chassis, and Need-to-do cards stay. plant-data-source stays Doing.

    • ●Only #39 (Computers/MSP cards) and #30 (plant CSV export) actually landed on origin/main. The heat tree with conflict markers was never deployed.
    • ●btn-square-radius — .btn-lantern uses --radius-control (10px), not a 999px pill. Chrome test refuses the pill.
    • ●Need-to-do catalog restored (shop tickets, collector/L3, invoice email, RMM switch-in, Computers). plant-data-source stays in progress — not done.
  2. this deploy

    Cameras and electrical drops pin on Floors

    Harborline Floors now shows CCTV camera locations and electrical drops the same way data jacks already pin. Hover a cyan square or an amber diamond for the path. Electric-only shops still have floors off.

    • ●Cyan squares are cameras — hostname, IP, MAC, VLAN, switch port. Floor 2 now has dispatch and hall cameras so the default chip is not empty.
    • ●Amber diamonds are electrical drops — panel, breaker, outlet, room, amps. Harborline seed has coordinates. Roof stays on the Drops list (no roof drawing).
    • ●Harborline admin and Electric + Cable (both@) see both. Cable-only still sees cameras, not electrical. Did not turn floors on for electric@.
  3. this deploy

    Panel-walk import, shop license, add-on SKUs, product page

    A shop can load a panel walk the same way they load a cabling CSV. Billing shows the package license and three a la carte SKUs. /for-contractors/product is the launch product page.

    • ●electric-plant-import — Account and the client record load panel, breaker, outlet, room. Harborline stays compiled.
    • ●tier-licensing — LIC-CABLE / LIC-ELEC / LIC-BOTH on Billing, the invoice, and the price book. Not Stripe.
    • ●alacarte-addons — extra field seat $35, extra building $30, camera map $25. No twenty checkboxes.
    • ●lantern-launch-site — product + pricing on lantern.enlightenstudios.us. Powered by Enlighten stays the footer.

Tuesday, September 15, 2026

  1. this deploy

    Plant CSV loads into Find

    Enlighten can load a walk CSV on a client building. That company’s Find, closets, rooms, and circuits read the file. Harborline stays the compiled demo.

    • ●Columns: closet, panel, port, jack, room. Optional switch, cable ID, length. Sample at /samples/plant-walk.csv.
    • ●Upload lives on the client building record. Did not mark plant-csv done. First real building still needs Mike’s address and spreadsheet.

Wednesday, September 16, 2026

  1. this deploy

    Invoice PDF can be emailed

    The office downloads a thin closeout PDF from an invoice, or emails it to AP. Payable by check or QuickBooks. No Stripe.

    • ●Invoice detail → Download PDF or Email PDF. Helvetica only. Open invoices mark Sent after a real send. Demo invoices stay Demo.
    • ●Line prices come from that company’s price book. Did not invent a first real building.
  2. this deploy

    A shop can load its quote-sheet CSV

    Company admin sets SKU prices on Billing → Price book, or loads a quote sheet. New work-order lines use those numbers. Harborline can beta the book. Not Enlighten’s seat fee.

    • ●Columns: sku, description, unit, unit_price. Optional active. Sample at /samples/price-book.csv. Catalog codes stay; shop prices win. New codes become this shop’s SKUs.
    • ●Harborline admin (admin@harborline.local) can click it. Did not invent a first real building.
  3. this deploy

    Need to do: Computers tab and the MSP PC agent

    Four cards on the launch board. Not shipped. A small Windows agent on each PC would push HTTPS out to lantern.enlightenstudios.us — same shape as the switch collector. Lantern never inbound-scans a customer PC. No agent binary this week.

    • ●computers-tab — Plant → Computers. Onboarding agent. Inventory: hostname, user, last seen.
    • ●pc-health — SMART for HDD/SSD/NVMe and Windows Update warnings on Computers.
    • ●pc-taskbar-ticket — Right-click the tray → New ticket. Reuses shop tickets. MSP wedge.
    • ●pc-remote-control — not this phase. Relay, consent, MFA. Not RDP from Plesk. Not fake in-browser VNC.
  4. this deploy

    Need to do: auto-fill phones, computers, and APs from the shop collector

    Three cards on the launch board. A box at the shop pushes what is on the wire to lantern.enlightenstudios.us. Phones, computers, APs, and printers fill without a closet walk. TDR feet, jack labels, rooms, and photos stay typed. Harborline stays the fictional demo.

    • ●l3-endpoints — overlay from MAC / neighbor / controller hostname. Not a closet walk.
    • ●l3-vendor-adapters — Meraki, UniFi classic, and Catalyst first. Aruba / Juniper EX / MikroTik next. Skip Instant On.
    • ●l3-discovery — find switches and routers on the office LAN only. No guest Wi-Fi crawl. No WAN sweep from Plesk.
  5. this deploy

    A shop can load its own plant CSV

    Company admin loads a walk CSV on Account. Closet, jack, and room are enough. Find, Floors, and Closets read that file. Harborline stays the compiled demo.

    • ●Columns: closet, jack, room. Panel and port optional. Shop sample at /samples/plant-shop.csv. Full walk still at /samples/plant-walk.csv.
    • ●Enlighten can still load from the client building record. Replace needs a checkbox so a live plant is not wiped by accident.
    • ●First real building still needs Mike’s street and spreadsheet. Did not invent a Waukesha address.
  6. this deploy

    Closet Lens snaps stay on the server

    A Lens snap now lands on the company plant. The next tech on another phone sees it on the closet. Photos used to sit only on that device.

    • ●Open Lens, snap Rack A, then open that closet on another phone — the photo is there.
    • ●The JPEG lives with Fluke PDFs under data/uploads. lantern.json keeps the closet card, not the pixels.
    • ●Harborline demo seats share snaps. Electric panel snaps use the same store.

Tuesday, September 15, 2026

  1. this deploy

    Floors draw this company's plant

    Floor chips and the map now follow the org plant. Harborline shows Basement with the MDF, plus 1 and 2. An imported walk draws its own rooms and jacks, not the Tacoma plate.

    • ●Floors and Air chips come from the plant record. Harborline adds Basement — that floor was in the plant and hidden.
    • ●The drawing, hover, and room cards use the same catalog as Find and Closets. Empty plant says so.
    • ●PDF clip is still optional. Electrical drop pins stay Need to do.
  2. this deploy

    Share card names cabling, IT, and electrical

    The iMessage / Open Graph card now says Lantern is a field tool for structured cabling, IT, and electrical professionals — not cabling only.

    • ●Same Kit 12 #4 Baseline A lockup on public/og.png. Cache-bust is /og.png?v=kit12-4b so iMessage drops the old line.
    • ●Did not invent a new mark. Header, favicon, and /brand stay Baseline A.

Wednesday, September 16, 2026

  1. this deploy

    Each launch card shows its own percent and time left

    Need to do / Doing / Checked cards on /launch no longer share a flat 50%. Doing uses ticked sub-steps. Time left is that task's remaining hours.

    • ●Need to do is 0% plus the full estimate. Doing uses the stored percent. Checked is 100%.
    • ●floors-org-plant 60% (3/5), wifi-heatmap 67% (4/6), wifi-stats 60% (3/5), first-building 40% (2/5). Open cards stay 0%.
    • ●Remaining is estimateHours x (1 - progress/100), labeled like 2d left. systemd lantern-launch-tick.timer stays 10 minutes. Password hashes untouched.
  2. this deploy

    SMS / Open Graph card uses Baseline A

    Sharing lantern.enlightenstudios.us in iMessage or on the web now shows the current Kit 12 #4 lockup — navy square, orange A, amber ray — not the old tan card.

    • ●Share image is public/og.png (1200×630). Meta og:image and twitter:image point at /og.png?v=kit12-4 so iMessage drops the cached old card.
    • ●Same Baseline A lockup as the header and /brand. Did not invent a new mark.
    • ●Live at https://lantern.enlightenstudios.us/og.png?v=kit12-4.
  3. this deploy

    Air heatmap is the walk, not demo AP circles

    Harborline Air no longer fills fake coverage circles from sample airtime. The colored blooms are typed RSSI. Orange dots are sample AP locations so you can still open an AP.

    • ●Strong / ok / weak walk blooms stay on the plan. A real building never gets Harborline AP heat fills.
    • ●The legend on Air names the walk colors. Sample AP dots are labeled sample — not a controller scrape.
    • ●Native iPhone RSSI is still not this phase. You type the meter.

Tuesday, September 15, 2026

  1. this deploy

    Air shows actual walk-sample usage

    Air and Stats now count the typed walk — quality, band, SSID, and which AP the samples sit on. Harborline still labels the demo airtime. A real building never shows Tacoma clients.

    • ●Each walk point rolls into strong / ok / weak and 2.4 / 5 / 6. Nearest AP on that floor gets the count.
    • ●Stats lists the same walk numbers next to the labeled Harborline sample pulse.
    • ●Controller airtime is still not this phase. Heatmap blooms stay on the wifi-heatmap card.
  2. this deploy

    Electrical floor plan for drops is on the board

    Need to do: show electrical drops on the floor drawing (panel → pin), not only the Drops list. Electric + Cable and Harborline full showcase. Electric-only shops keep floors off for now.

    • ●New launch card: Electrical floor plan for drops. Honest seed is Need to do — this is not shipped.
    • ●Not the same as hover-on-jack. Closet LDAP/TDR, wifi heatmap, and floors-from-plant stay ahead of it.
    • ●Package cards already on the board: Electric-only rail, Electric + Cable Pro, demo seats per package, shop tickets. Launch website stays later on /for-contractors.

Wednesday, September 16, 2026

  1. this deploy

    Air heatmap paints from walk samples

    Each typed RSSI point now blooms on Air. The side card shows count and average on that floor. Harborline still has the demo AP circles. A real building is samples only.

    • ●Stronger readings stay tight and green. Weaker readings spread and go amber or red.
    • ●You still type the meter. iPhone will not give RSSI in the browser this phase.
    • ●Electrical floor plan for drops stays Need to do — that is pins on the drawing, not this heat.

Tuesday, September 15, 2026

  1. this deploy

    Demo seats per package, plus Electric + Cable

    Harborline admin still shows the whole system. Sign in has a card per package: MSP, Cable Pro, Electric Pro, and Electric + Cable. Electric-only rail is panels, drops, jobs, billing, and tickets — no floors.

    • ●Sixth package: Electric + Cable Pro at the same $99 / $35 meter. Floors, closets, and APs come back on that seat.
    • ●Tickets is on the shop rail for Electric and the combo. Harborline sample tickets.
    • ●A Lantern launch website is on the board for later. It will live on lantern.enlightenstudios.us, not a fork of the Enlighten Studios homepage.

Wednesday, September 16, 2026

  1. this deploy

    Harborline demo seats match the package rail

    Sign in cards for admin, MSP, Cable Pro, Electric Pro, and Electric + Cable are live. Electric-only is panels and the bill — no floors. Tickets is on that rail.

    • ●admin@harborline.local / LanternAdmin1 sees the full system.
    • ●electric@ has Panels, Drops, Jobs, Billing, Tickets — no Floors or APs. both@ adds floors, closets, and cable.
    • ●Electric + Cable Pro is $149 / $50 on the contractor price sheet — more than Electric Pro. A separate launch website is still later.

Tuesday, September 15, 2026

  1. this deploy

    Floor hover, closet LDAP/TDR, and cameras

    Floors now show a hover card with jack, switch port, LDAP, and TDR length. Closet ports carry the same facts. Cameras have a section and cyan pins on the plan. Charge day is Friday, September 25.

    • ●Hover a room, jack, closet, camera, or AP on Floors or Air. Tap still opens the circuit.
    • ●Patched closet ports list LDAP and feet on hover. Plant record — not a live DC bind or switch scrape.
    • ●Cameras is on the IT rail. Harborline dock and warehouse samples show IP, MAC, VLAN, and the switch port.
  2. this deploy

    Baseline A is the live Lantern mark

    Kit 12 number 4 is now the logo on the site — header, tab icon, and app icon. /brand is the finished page for that mark, with a zip of SVG, PNG, JPG, PDF, AI, EPS, and business cards.

    • ●Navy square, purple rim, orange notched A, amber ray, white word. The A in LANTERN sits on the letter line; the ray hangs below.
    • ●Download the kit at /brand/lantern-logo-kit.zip. The old review sheets are off /brand.
    • ●Hard-refresh if an old tan A is still in the tab.
  3. this deploy

    Electric Pro is on the price sheet and the field rail

    Electric Pro is a published package at $99/mo for the office seat and $35/mo per named field seat — the same meter as Cable Pro. Panels, drops, the panel Lens, electrical SKUs, and Harborline sample WO-0002 are live. Cable Pro shops do not see that rail.

    • ●Published on /for-contractors/pricing next to Cable Pro. Admin client picker has the fifth card. Check or QuickBooks, Net 15 on seats, customer invoices Net 30. No Stripe.
    • ●An Electric Pro shop gets Panels, Drops, and the panel Lens. Closets and the jack map stay off. Cable Pro and MSP shops do not grow an electrical rail.
    • ●Breaker schedules stay two columns on a phone, used vs spare vs open, amp tally per leg — not an NEC load calculation.
    • ●Find on Harborline also matches outlet numbers and panel codes. Work orders on Electric Pro hang device, homerun, breaker, and labor lines first.
    • ●Harborline sample WO-0002 is a fictional range circuit on LP-1A. No real Waukesha building. Electrical import CSV is still open.
  4. this deploy

    Launch board shows an animated percent

    Every card on /launch and /admin/launch now has a progress bar with the percent under it. Phases and the whole board roll up the same way. Not done is 0, doing is 50, checked is 100 — no invented precision.

    • ●Admin board re-reads the live board on the existing four-second poll, so a check on one machine fills the bar on another without a refresh.
    • ●Prefers-reduced-motion still kills the fill and the sheen. Print still inks to the paper edge.
    • ●Remaining-work rows from the board queue ship on the same board, including Electric Pro’s plant-import card.
  5. this deploy

    Electric Pro — panels, breakers, drops, and the bill

    Fifth package, for electricians: $99/mo for the office seat and $35/mo per named field seat, the same meter as Cable Pro. Panels with a real breaker schedule, drops that know which panel and which breaker they are on, and a Lens that reads the panel instead of the rack.

    • ●Panels draws the door card: odd left, even right, phase per position, multi-pole breakers spanning their spaces, used vs spare vs open.
    • ●Amp tally per panel and per leg against the main. It is a sum of what a tech typed on each circuit — not an NEC load calculation.
    • ●Drops carry the outlet number, room, mounting, device amps, and the breaker they come from. Search an outlet, a room, a panel, or a word from a circuit label.
    • ●Electrical Lens is its own tool at /lens/electric. The cabling Lens is unchanged.
    • ●Electrical SKUs — device, homerun, breaker, gear, labor, trip, permit — sit in the shared price book, so work orders and Net 30 invoices already bill them.
    • ●Off for every existing company. Cable Pro and MSP shops see no electrical rail. Harborline has a fictional demo plant; there is no real building, no utility read, and no meter scrape.
  6. this deploy

    Logo kit 12 — Long ray studies

    Five more lockups on /brand, all off kit 11 #5 Long ray. Three change only the light-ray (short / medium / longer). Two keep that A the same width and stretch it so the bottom sits on the LANTERN baseline — feet on the line, or the ray tip on the line.

    • ●Kit 12: 1 Short ray, 2 Mid ray, 3 Long ray XL, 4 Baseline A, 5 Baseline ray.
    • ●Kits 9–11 stay on the same page. Live favicon and header stay kit 8 option 3 until Mike picks a number.
    • ●Did not replace public/lantern-icon.png or lantern-lockup.png.
  7. this deploy

    Logo kit 11 — bigger A, off Dry night

    Ten more lockups on /brand, all built from kit 10 #6 Dry night. The A in the rounded square is bigger so it fills the square instead of floating in padding, and the A inside LANTERN is back to the oversized one from the early kits.

    • ●Kit 11 varies ring weight, ray length, wordmark A size, and how dark the square fill sits. Orange A and white word throughout.
    • ●Kit 9 and kit 10 are still on the same page. Live favicon and header stay kit 8 option 3 until Mike picks a number.
    • ●Did not replace public/lantern-icon.png or lantern-lockup.png.
  8. this deploy

    Launch is a working board, charge October 2

    Launch is a working board we add lines to and check off — same purple and orange, not a white canvas. Charge-the-walk is Friday, October 2, not a 45-day sit.

    • ●Open, doing, and checked columns. Plant CSV is the first open card. Enlighten can add a line from /admin/launch.
    • ●Boards still sitting on October 30 pull forward. A date Mike published himself stays. No Stripe. Did not start plant CSV.
  9. this deploy

    48-port switches fit a phone

    A 48-port faceplate was wider than the screen, so the page grew and left black empty space. Ports now wrap to 12-wide on a phone and fill the card.

    • ●Patch panels stay two rows of 12. A 48-port switch wraps to four rows of 12 on a phone; desktop still shows two rows of 24.
    • ●Port keys stretch with the card. The page no longer scrolls sideways from the rack drawing.
  10. this deploy

    Harborline emails are not sitting on Sign in

    admin@harborline.local was a demo-seat shortcut at the bottom of login, not a signed-in account. Those seats now sit under Harborline demo so the form stays empty.

    • ●Sign in lede is your email. Tap Harborline demo only to walk the fictional company.
    • ●Email and password stay empty until you type or open a demo seat. Demo is not Enlighten admin.
  11. this deploy

    Lockup keeps its shape

    The A + LANTERN mark was flattening because the img box was 184×64 while CSS set a shorter height. It now uses the real 1838×640 ratio.

    • ●BrandLogo width/height match the PNG. CSS aspect-ratio 1838/640, max-width none, object-contain.
    • ●Header mark no longer sits in a min-w-0 flex child that can squeeze it. Footer bulb unchanged.
  12. this deploy

    Tighter left menu, pinned to the viewport

    Menu rows are closer together so the list fits. The rail stays on screen and does not scroll into empty space past the last item.

    • ●Nav links are 2rem tall with tight group gaps. Find, Jobs, Billing stay one word.
    • ●Aside is sticky, viewport-tall, and clipped. Rail overscroll is off so the left of the page never goes blank below the last link.
  13. this deploy

    Tab and lockup are the Lantern A, not the old lightbulb

    Product chrome never falls back to the Enlighten lightbulb. The bulb stays in the Powered by footer only.

    • ●BrandLogo fallbacks are lockup then /lantern-icon.png. The Enlighten lightbulb is not a header or tab icon.
    • ●Favicon / apple-touch / PWA icons stay the purple-around-A square. Hard-refresh the tab if a cached bulb sticks.
  14. this deploy

    Left menu hugs the labels

    The expanded rail is only as wide as the icon, the word, and a compact count. No extra padding canyon.

    • ●Expanded rail is 10.5rem (168px). Collapsed stays 4.25rem icon-only. Labels stay one word and nowrap. Find is still Find.
    • ●Nav uses px-1, gap-2, shorter group tracking. Jobs/Billing/admin badges stay, compact (min 1.25rem). Overflow hidden on the rail is fine.
    • ●Darker purple rail scrollbar and hover chevrons stay. Did not start plant CSV.
  15. this deploy

    Darker purple on the menu scroll

    The left rail overflow bar is a thin darker purple, with a short hover chevron instead of cheap native arrows.

    • ●aside[data-collapsed] nav: track #1a1030 / #3b0764, thumb #6d28d9, orange hover. Custom chevrons nudge on hover. Firefox uses darker purple scrollbar-color. Did not widen the rail or start plant CSV.
  16. this deploy

    Narrower left rail, real counts on Jobs and Billing

    The left menu is tighter. Open work orders and unpaid invoices show a small number. Plant items stay unbadged.

    • ●Expanded rail is 12rem (192px). Collapsed stays icon-only. Org and account still truncate in the header, not by widening the menu.
    • ●Jobs: open work orders (not billed). Billing: draft/open/sent invoices. Tests: unattached or a fail from the last 30 days. Docs stay quiet. Admin Launch/Health/Board/Clients/Mail badges stay.
    • ●Rail overflow uses the same thin dark orange/purple scrollbar. Did not start plant CSV.
  17. this deploy

    Find submit matches the search field

    The orange search control is a rounded square like the input beside it — same height, 10px corners, lucide Search. Not a circle and not a wrapping pill.

    • ●SearchForm submit is size-14 / size-12 with rounded-[10px], same as the Find input. .btn-lantern-icon overrides the pill 999px radius. Sidebar Find stays icon + Find.
  18. this release

    Dark orange-and-purple scrollbars

    The field tool no longer shows a thick white Windows scrollbar on the purple UI. Scrollbars are thin, dark-track, with a purple-to-orange thumb like the launch spine and lantern button.

    • ●Firefox uses thin scrollbar-width and scrollbar-color. WebKit uses a 9px rounded thumb on html, body, overflow panels, the left rail, sheets, and textareas.
    • ●Track stays near #0b0d14. Thumb is #6d28d9 into #f97316 / #ffb020. Hover is a touch brighter. Not a loud rainbow bar.
    • ●Did not start plant CSV. Did not rewrite password hashes.
  19. this deploy

    Signed-in /launch uses the left rail, not the old top menu

    If you are signed in — including Enlighten admin — Launch, Changelog, and contractor pages use the collapsible left rail with lucide icons and the icon+LANTERN lockup. The old GTM top menu (Open the tool / Talk to Enlighten pills) is logged-out marketing chrome only.

    • ●SiteShell: usesAppChrome(pathname, viewer). A viewer always gets AppChrome, even on /launch, /changelog, and /for-contractors.
    • ●MarketingChrome is logged-out only. Compact header is lockup + Sign in + Contact. Talk to Enlighten stays a sentence on the contractor page, not a wrapping pill.
    • ●Find is a search icon. .btn-lantern stays nowrap. Live JS chunks 500 and next/image lockup 400 were the hiccup. Did not start plant CSV. Did not rewrite password hashes.
  20. this deploy

    Launch, Changelog, plan, and health skip Sign in

    Shop pages stay public: /launch, /changelog, /plan (business plan), and GET /api/health. Enlighten /admin/health and /admin/errors stay behind the operator seat. Live hashes stay put.

    • ●Middleware lets /launch, /changelog, /plan, /api/health, and /api/ops/report through without a session.
    • ●/plan redirects to /for-contractors/plan so the business plan is one short URL.
    • ●/admin/health and /admin/errors stay Enlighten-only. Did not rewrite password hashes.
  21. this deploy

    Sign-in lockup is the public PNG, not the image optimizer

    Login, signup, forgot, reset, marketing, pitch, changelog, and legal show icon + LANTERN from /lantern-lockup.png. Live /_next/image was 400ing the mark even though the PNG itself was fine.

    • ●BrandLogo is a raw img to /lantern-lockup.png. Footer Powered by Enlighten stays /enlighten-icon.png. No Enlighten wordmark beside the lockup.
    • ●next.config turns off the image optimizer so a leftover next/image cannot send chrome through /_next/image.
    • ●remote-release copies the lockup into standalone and nginx httpdocs. Did not rewrite password hashes.
  22. this deploy

    Launch, Changelog, and health are public

    What's new is a public living log. Launch shows finish-speed dates. Enlighten health watches the public pages so a 5xx or unstyled shop page is a report, not a screenshot.

    • ●Public /changelog and footer What's new. Audience admin rows stay on the Enlighten board only.
    • ●Public /launch plus Enlighten /admin/launch. Finish-speed: chrome Tuesday 15 Sep 2026, then plant CSV → price book → invoice PDF → first building before charge Friday 30 Oct 2026. No fake weekly calendar. No Stripe.
    • ●GET /api/health is public JSON. POST /api/ops/report is public. /admin/health is the same board as /admin/errors. Nav badge is open reports.
  23. this deploy

    Finish-speed dates on Launch, admin, and the contractor timeline

    Chrome is Tuesday, September 15, 2026. Charge-the-walk stays Friday, October 30, 2026. Remaining work is a sequence before that Friday — plant CSV, price book, invoice PDF, first real building — not a fake weekly calendar. No Stripe.

    • ●Public /launch, Enlighten /admin/launch, and /for-contractors/roadmap share one finish-speed sequence.
    • ●Only two calendar dates: chrome now, charge day. Plant import is next. Stripe stays later.
    • ●Did not invent Oct 3 / 10 / 17 / 24. Sequence plus those two dates is the honest finish-speed.
  24. this deploy

    Production webpack no longer bundles the account store

    The contractor launch strip and /launch were pulling the server store into the client graph. Shop pages now pass deadline counts as props. /launch loads the store and hands the board to a presentational page.

    • ●GtmLaunchStrip is presentational. Server pages load launch board data and pass deadline / done / total.
    • ●/launch and /admin/launch no longer import launch-motion in the same file as getStore.
    • ●store.ts and session-server.ts import server-only. Did not touch live password hashes. rsync still excludes data/.
  25. this release

    Left rail — icon + LANTERN lockup

    The field tool chrome is a collapsible left sidebar with lucide icons. Header is the Lantern lockup only. Enlighten Studios sits in the footer as Powered by, not as a second wordmark beside LANTERN.

    • ●Product header is icon + LANTERN. Org name is not printed next to the mark. Operator org is not shown in the header.
    • ●Left rail: labels when open, icons when collapsed. Collapsed state persists in localStorage. Mobile opens the same nav in a left sheet from the hamburger.
    • ●Find, Floors, Lens, jobs, billing, team, guide, and admin keep their routes. Feature flags still hide seats that do not have the module. Admin uses the same shell.
    • ●Public /for-contractors pages keep a simple top marketing nav. Login lockup has no Enlighten Studios subtitle.
  26. this release

    Find is a search icon, not a wrapping pill

    The orange Find control is a magnifying glass. Compact chrome uses icon + a real word. Slogan fragments that wrap (Find it, Open the tool) are gone.

    • ●Search submit is lucide Search with aria-label Find. Sidebar Find stays icon + Find when open, icon-only when collapsed.
    • ●Marketing header: Find with a search icon for signed-in shops, Contact for the mail CTA. Talk to Enlighten stays a sentence on the contractor page, not a wrapping pill.
  27. this deploy

    Contractor timeline builds again

    Production deploy was blocked on a TypeScript error on /for-contractors/roadmap. Optional due dates still print when present. Did not start plant CSV.

    • ●formatLaunchDeadline only receives a string due, not an empty object from 'due' in item on const PHASES.
    • ●Chrome Tuesday 15 Sep 2026 and charge Friday 30 Oct 2026 stay the only calendar dates. Live hashes stay in /root/Lantern/data.
  28. this deploy

    Production TypeScript build is green

    launch-changelog.tsx and the changelog store share one ChangelogEntry shape. The 4037d62 webpack build failed because the page still expected commit groups after the store rewrite. Footer, Terms, and Privacy stay public. Live hashes stay put.

    • ●4037d62 failed next build: launch-changelog imported changelogGroups / changelogCommitCount / CHANGELOG_LIVE_* after StoreFile.changelog became items[].
    • ●This deploy — ChangelogEntry lives on auth types. The launch log maps items onto commits so webpack typechecks. /terms and /privacy stay public. rsync still excludes data/.
  29. this release

    Changelog is its own section

    Launch stays the deadline and the checklist. The Tuesday dump is on /launch. What’s new also lives at /changelog as a living log.

    • ●Public /changelog with today’s work. Enlighten admin Changelog tab plus POST /api/admin/changelog.
    • ●Entries persist in the tenant file as changelog. Merge-add only — never a reason to rewrite the live store.
    • ●/launch and /admin/launch carry the plan and the Tuesday dump. /changelog is the footer’s living log.
  30. this deploy

    Full business plan and Tuesday changelog on Launch

    The plan is on /launch and /admin/launch (not a link stub). The Tuesday diary is on those pages and also at /changelog.

    • ●4037d62 after 04:16 UTC · This deploy — Put the business plan and Tuesday changelog on Launch. Hard-refresh /launch and /admin/launch.
    • ●Public /changelog (What's new) is the same living log, newest first.
  31. 04:14 UTC

    Launch board, motion, deadline, auto-checkoff

    Public /launch is the deadline page (countdown, phases, live vs next). Enlighten /admin/launch is Mike’s checklist. Status writes into launchBoard in the tenant file (merge-add only). Deadline is Friday, October 30, 2026.

    • ●7eae10c 04:14 UTC · Live — Report completed work to the Enlighten /admin/launch board. Countdown and checkboxes share one write path.
    • ●POST /api/admin/launch and reportLaunchItem share one write path.
    • ●Honest seed: Harborline walk and chrome are done; plant CSV, price book, invoice PDF, first building, and freeze-if-unpaid are not.
  32. 04:08 UTC

    Go-to-market packet and Cable Pro price

    Public contractor landing, print one-pager, price sheet, plant-import scope, business plan, timeline, and sales playbook. Those routes are not behind login.

    • ●cb385de 04:08 UTC · Live — Publish Lantern go-to-market pages and Cable Pro pricing.
    • ●/for-contractors, /pitch, /for-contractors/plan, /roadmap, /playbook, /pricing, /import.
    • ●Published price: $99 office, $35 field, extra building $30, import $1,500–$8,000 typical $3,500. No Stripe.
  33. 03:18–04:06 UTC

    Logo kits 1–8, then kit 8 option 3 as live chrome

    Eight review sheets at /brand. Mike locked kit 8 option 3: gold triangular A on a dark rounded square with a violet wash, plus the LANTERN wordmark. Favicon, apple-touch, and PWA icons are that square.

    • ●8af9957 04:06 UTC · Live — Ship kit 8 option 3 as live Lantern product chrome.
    • ●89c5191 03:18 UTC · Live — Add Lantern 10-mark logo kit for review.
    • ●Mike’s choice is live: gold triangular A on a dark rounded square with a violet wash, plus the LANTERN lockup.
    • ●Favicon, apple-touch, and PWA icons are the purple-around-A square only.
  34. 04:06 UTC

    Powered by Enlighten Studios, Terms, Privacy

    Studio mark and link sit at the bottom of the app panel and the login frame, pointing at enlightenstudios.us. Footer lists Terms, Privacy, Launch, Contact. /terms and /privacy are public.

    • ●767b8aa 04:06 UTC · Live — Add Powered by Enlighten Studios credit to Lantern chrome.
    • ●Powered-by credit on desktop, mobile, and login. Links to enlightenstudios.us.
    • ●Legal copy on /terms and /privacy. Curl at 04:16 UTC still 307'd logged-out visitors to Sign in; this deploy lists them as public.
  35. 03:47 UTC

    Billing-only package and invoice ledger search

    Fourth package for shops that only need PO and invoices — no closet map. /billing filters by number, PO, bill-to, site, SKU, status, and issued dates on shareable query URLs.

    • ●e4f74a4 03:47 UTC · Live — Add billing-only package and invoice ledger search.
    • ●Billing package: work orders, PO, invoices, SOP. No Find, Lens, floors, or Fluke as the job.
    • ●Search the ledger with ?q= and ?status= so a shop can share a filtered view.
  36. 03:19 UTC

    Customer invoices, Net 30, two-layer feature flags

    Billing is the shop’s ledger: work-order PO, catalog lines, Net 30. Enlighten can turn a module off for company admins; company admins can hide the same tools from field seats.

    • ●0ba37cf 03:19 UTC · Live — Add customer invoices and two-layer feature flags.
    • ●/billing is the contractor AR ledger (not Enlighten’s cut).
    • ●Flags are company-level and seat-level. Invoice rows survive deploys with the rest of the tenant file.
  37. 02:09 and 03:04 UTC

    Floor PDF studio — upload, orange highlight, clip on the room

    A customer drawing becomes the Floors background. Drag an orange box; the crop sits under each room card. Harborline keeps its schematic until a PDF exists.

    • ●8630e3b 02:09 UTC · Live — Add floor-plan PDF studio and location clips on Floors.
    • ●839ee7f 03:04 UTC · Live — Fix PDF highlight so dragging paints a selectable area.
    • ●Harborline schematic stays until a PDF exists.
  38. 03:02 UTC

    Live tenant file survives deploys

    A release rsyncs the app and excludes data/. Operator sign-in is not reset by shipping code. The live store stays on the server data directory. This log does not discuss credential internals.

    • ●113a6d9 03:02 UTC · Live — Keep operator credentials on the live data dir.
    • ●Deploy never sends or overwrites the live tenant file.
    • ●Production LANTERN_DATA_DIR is the server data directory, not the build tree.
  39. 02:38–02:43 UTC

    Harborline company-admin vs field demo; Mail tab

    Two Harborline cards: company admin cannot open Enlighten Admin; user demo is field-only. Production mail submits to the box postfix. Mail tab shows host, port, and from.

    • ●Company-admin demo cannot open Enlighten Admin. User demo is field-only.
    • ●Production mail goes to local postfix on 127.0.0.1:25.
    • ●Admin Mail tab shows the postfix target when SMTP_HOST is set, plus the existing test-send button.
    • ●Demo cards invite a mapped-plant walk instead of leading with what the seat cannot do.
  40. 02:18–02:26 UTC

    MSP, Cable Pro, Advanced — then seat limits before upsells

    Package sits on the company (and optionally a seat) and maps onto module flags. Enlighten picks the mode on the client record. Harborline stays Advanced for sales walks.

    • ●MSP Basic is plant/Find without billing the customer from Lantern. Cable Pro is the offer (jobs, Fluke PDF, invoices). Advanced is both.
    • ●An employee who opens Jobs, Tests, or Lens sees intranet + Find copy, not a Cable Pro upsell, when that module is off for the seat.
  41. 02:03–02:06 UTC

    Jobs, PO, SKUs, Fluke PDF, SOP guides, feature flags

    Company admin is /team, separate from Enlighten /admin. Work orders carry a PO. Fluke is a PDF on the job — no LinkWare parse. SOP lives under Docs. Field and operator how-to books are /guide and /admin/guide.

    • ●8893a8a 02:03 UTC · Live — Ship company roles, SOP, jobs, Fluke tests, and feature flags.
    • ●Signup and first client contact are company admin. Harborline extra seats, SOP, a sample work order, and a LinkWare-style PDF seed when missing.
    • ●Lens captures length and product. /guide for the shop; /admin/guide for Mike.
  42. 01:53 UTC

    Login starts empty; forgot-password is real

    The form does not prefill Harborline. Tap a demo card to fill that seat. Forgot / reset mails a two-hour link. Admin is a different seat than the demo.

    • ●Email and password start empty. Harborline fills only from the demo cards.
    • ●/forgot and /reset issue a two-hour reset and mail the link.
  43. 01:33 UTC

    IP phones on the same drop as the PC

    The closet hole: desk phone on the wall jack (PoE, VLAN 20), workstation daisy-chained through the phone. Search an extension. File a phone from Lens. Open /phones for every Harborline location.

    • ●Harborline phones are plant, not a separate directory. Extension search, Lens file, and a Phones tab for each location.
  44. 00:47–01:22 UTC

    The field tool opens: login, Enlighten console, Harborline walk

    First stretch of the day. Lens stops covering the rack. Harborline becomes a signed-in demo tenant. Mike gets a real operator console. Clients lead with buildings so a phone can still reach Admin.

    • ●MDF/IDF picker and port overlay sit off the live camera until a closet is selected, so the rack stays visible.
    • ●Sign in exists. Harborline is the demo tenant. Accounts, billing, and buildings live in the store.
    • ●Admin Clients lists every location and building. Board is a kanban. Tools cover demo reset, export, operators, and audit.
    • ●The add-client form sits under the directory. The Admin chip stays in the header on a phone.

Waukesha

The log stays current. The deadline stays on Launch.

Mike Cobus · Enlighten Studios. First day in this book is Tuesday, September 15, 2026. Every later ship adds a row here in the same commit.