Softanza
StartFrançais
Softanza
The library documents itself · The Learning System

stzLearner

18 own methods · 0 forms written with extensions, listed under their method

the source: base/education/stzLearner.ring(opens in a new tab) · All classes

Under each method, its extensions (Q CS XT Z ZZ IB W U): bold and ticked, it exists; struck, it does not. The extensions and what they mean

Examples: 0 come from the library's tests; 4 were composed from each method's signature and run for this page, on a fresh object, for example cL = "t_edu_levels/zara" o1 = StzLearnerQ(cL). 14 methods have none yet. Examples run on 2026-10-03 20:23 inside the library at commit 0e72e2e2c.

Method
Explanation, as the source carries it
init
(no comment in the source: the name reads as a sentence) initno extension
Id
(no comment in the source: the name reads as a sentence) id
composed example
cL = "t_edu_levels/zara"
o1 = StzLearnerQ(cL)
? o1.Id()
#--> zara
composed from the signature, run for this page
no extension
Folder
(no comment in the source: the name reads as a sentence) folderno extension
ProgressFile
(no comment in the source: the name reads as a sentence) progress fileno extension
WorkFile
(no comment in the source: the name reads as a sentence) work fileno extension
Facts
(no comment in the source: the name reads as a sentence) factsno extension
Submit
the one writer of progress: a check that RAN THE FACT SHAPE. The knowledge graph keeps ONE edge per pair of nodes, so `ali | tried | ex` and `ali | passed | ex` cannot both exist -- found by this plane's guard, 2026-09-23. Every fact about an attempt therefore hangs off its own subject, and each carries a distinct object (the prefixes keep two equal hashes from being one node): ali | worked-on | ex-01-01 ex-01-01-by-ali | verdict | passed (passed | diverged | error) ex-01-01-by-ali | last-attempt | attempt:<sha256> ex-01-01-by-ali | evidence | sha256:<sha256> (only when passed) ex-01-01-by-ali | checked-at-ms | <epoch ms, UTC> (only when passed)no extension
SubmitFile
(no comment in the source: the name reads as a sentence) submit fileno extension
HasTried
(no comment in the source: the name reads as a sentence) has tried
composed example
cL = "t_edu_levels/zara"
o1 = StzLearnerQ(cL)
? o1.HasTried("a")
#--> 0
composed from the signature, run for this page
no extension
LastVerdict
(no comment in the source: the name reads as a sentence) last verdictno extension
HasPassed
Passed means: the checker said so AND its evidence still matches the work file. A verdict typed by hand carries no evidence and is refused.
composed example
cL = "t_edu_levels/zara"
o1 = StzLearnerQ(cL)
? o1.HasPassed("a")
#--> 0
composed from the signature, run for this page
no extension
ChapterOn
where the learner is The first chapter, in course order, with an exercise not yet passed (with evidence); "" once every chapter is. This is what the tutor's rule 2 means by "where the learner is".no extension
ProjectFolder
projects and levelsno extension
SubmitProject
The learner's own project folder, judged by the project's guard. As with an exercise, the checker is the only writer of the verdict, and the evidence is the hash of the whole folder.no extension
HasPassedProject
(no comment in the source: the name reads as a sentence) has passed project
composed example
cL = "t_edu_levels/zara"
o1 = StzLearnerQ(cL)
? o1.HasPassedProject("a")
#--> 0
composed from the signature, run for this page
no extension
HasEarned
A level is earned when EVERY exercise of the chapters it needs has been passed AND its project has passed -- each with evidence that still matches. Nothing else earns it: not a score, not a teacher.no extension
MissingFor
What still stands between the learner and a level, by name.no extension
Reload
Reloads the facts from disk -- what another object, or a person, wrote.no extension