2026/06/05
|
Friday, June 5, 2026 (#156)
|
|
Working on Ferreteria FileSys stuff in order to support sftp in FTM.
Updating yesterday's summary to use the new terminology:
$oWild->OIdent->OVenue->Existsfails because creatingident->OVenuecallsident->NewProto()[1] which readsident->SUSpec[2] which needs to readident->OPSpec->SUSpec[3] which needs to read$OPChain->OLeaf(wait, what?*) in order to callOLeaf->SPSpec().- Remaining question: why isn't
FromSUSpec($fs)initializing$oChain->OLeaf?
Maybe more renaming is called for:
| old name | new name | why | done |
|---|---|---|---|
NodeURL |
⇒ USpecNode |
to update "URL" and put the spec-type first | ✅ |
PathChain |
⇒ PSpecChain |
to update/disambiguate "Path" | ✅ |
PathPiece |
⇒ PSpecPiece |
to update/disambiguate "Path" | ✅ |
*Okay, this may be at the heart of the problem. PSpecChain has a $SUSpec property (which Ident's $SUSpec shortcuts to). Does this make sense? Or should PSpecChain just be managing the on-device path (PSpec)?
- It made more sense when
Venuewas just a utility and required passing thePSpecfor every operation, but that is no longer the case. - Some restructuring is needed. I may need a diagram...
The current situation:
┌───────────┐ ┌────────────┐ ┌────────────┐
┌──────────────► USpecNode ┼──────► PSpecChain ┼──────► PSpecPiece │
┌───────┐ ┌─────┼─┐ └───────────┘ └────────────┘ └────────────┘
│ Ident │──────────►│ Venue │
└───────┘ └─────┬─┘ ┌──────┐
└──────────────► Stat │
└──────┘
Maybe this is ok? On the other hand:
Venue&Statare more aboutInOutstuff- the *
Spec* classes are about Ident stuff (which fits with their being underIdent\spex)
Maybe things should be reorganized along those lines:
┌───────┐ ┌───────┐ ┌────────────┐ ┌────────────┐
│ Ident │────────► USpec ┼──────► PSpecChain ┼──────► PSpecPiece │
└───────┘ └───────┘ └────────────┘ └────────────┘
┌───────┐ ┌───────┐ ┌──────┐
│ InOut │───────►│ Venue ┼──────► Stat │
└───────┘ └───────┘ └──────┘
12:47
Ok, so, I've moved [WFe]Sys\FileSys\Aspect\Ident\native\Stat to [WFe]Sys\FileSys\Aspect\InOut\native\Stat, because that one seems kind of obvious.
I have to think more carefully about Venue, because I seem to recall that the stuff it covers is a mixture of InOut and Ident... and, wait a sec, so does Stat. Ok, let's try going with the idea that Venue is a third prong: I've now put it in [WFe]Sys\FileSys\Aspect\Venue\native\Stat instead.
15:35
So now it's like this (, cat):
┌───────┐ ┌───────┐ ┌────────────┐ ┌────────────┐
┌──────────────► Ident │────────► USpec ┼──────► PSpecChain ┼──────► PSpecPiece │
│ └───────┘ └───────┘ └────────────┘ └────────────┘
│
┌────┼─┐ ┌───────┐
│ Node ┼────────────► InOut │
└────┬─┘ └───────┘
│
│ ┌───────┐ ┌──────┐
└──────────────► Venue ┼──────► Stat │
└───────┘ └──────┘
...or will be, after I make the necessary edits.
21:20
I think maybe Node needs to retain the $SUSpec, and perhaps be the primary source for it, because the Aspect objects are all initialized from Node and nothing else.